Function at 0x418c29
Capabilities:
Read .ini file

Disassembly:
push 0x240
mov eax, 0x4b0453
call fcn.00487ec7
mov esi, ecx
mov dword [ebp - 0x230], esi
mov ebx, dword [ebp + 8]
lea edi, [esi + 0xee8]
xor eax, eax
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x248], edi
cmp dword [esi + 0x240], eax
jne 0x418c75
push eax
push eax
push 0x1009
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
jmp 0x41b05f
mov dword [ebp - 0x234], eax
cmp ebx, dword [0x4fe9b4]
jne 0x418ca4
push eax
push eax
push 0x1004
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jle 0x418ca2
mov dword [ebp - 0x234], 1
jmp 0x418cc6
xor eax, eax
push eax
push eax
push 0xb
push dword [edi]
mov dword [ebp - 0x248], edi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push ebx
mov ecx, esi
call fcn.00417b20
mov dword [0x4fe9b4], ebx
lea ecx, [ebp - 0x220]
call fcn.0040364a
and dword [ebp - 4], 0
lea ecx, [ebp - 0x24c]
and dword [ebp - 0x214], 0
call fcn.0040364a
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x23c]
call fcn.0040364a
mov byte [ebp - 4], 2
push dword [esi + 0x6808]
push ecx
mov ecx, esp
mov dword [ebp - 0x240], esp
push str.VENDOR_SPECIFIC
call fcn.00402306
mov byte [ebp - 4], 3
push ecx
mov ecx, esp
mov dword [ebp - 0x228], esp
push str.Smart
call fcn.00402306
mov byte [ebp - 4], 4
lea eax, [ebp - 0x244]
push eax
mov byte [ebp - 4], 2
mov ecx, esi
call fcn.00433b7f
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x23c]
push eax
call fcn.00401ffd
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x244]
lea ecx, [ecx - 0x10]
call fcn.0040259b
lea edi, [esi + 0x238]
xor edx, edx
push ebx
mov ecx, edi
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x21c], edi
call fcn.0040ab14
cmp dword [eax + 0x17a4], 0
jbe 0x41b009
mov esi, dword [ebp - 0x238]
imul esi, esi, 0xc
mov ecx, edi
push ebx
mov dword [ebp - 0x218], esi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0
je 0x41afe8
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xff
je 0x41afe8
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1730], 0
je 0x419044
mov ecx, dword [ebp - 0x230]
push 0
push str.Parallels
push ebx
mov eax, dword [ecx + 0x6810]
mov ecx, edi
mov dword [ebp - 0x228], eax
call fcn.0040ab14
lea ecx, [eax + 0x1888]
call fcn.0040a80a
test eax, eax
je 0x41902c
push 0
push str.VMware
push ebx
mov ecx, edi
call fcn.0040ab14
lea ecx, [eax + 0x1888]
call fcn.0040a80a
test eax, eax
je 0x41902c
push 0
push str.QEMU
push ebx
mov ecx, edi
call fcn.0040ab14
lea ecx, [eax + 0x1888]
call fcn.0040a80a
test eax, eax
je 0x41902c
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 1
jne 0x418e7b
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1405], 0
jne 0x418f8b
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
cmp byte [eax + esi + 0x1400], 2
jne 0x418f5c
call fcn.0040ab14
push ebx
mov ecx, edi
movzx esi, byte [eax + 0x1412]
shl esi, 8
call fcn.0040ab14
push ebx
movzx edi, byte [eax + 0x1411]
or edi, esi
mov esi, dword [ebp - 0x21c]
mov ecx, esi
sub edi, 0x111
call fcn.0040ab14
cmp edi, dword [eax + 0x180c]
jl 0x418ed7
push 3
pop ecx
mov edi, esi
jmp 0x418f28
push ebx
mov ecx, esi
call fcn.0040ab14
mov ecx, dword [ebp - 0x21c]
push ebx
movzx esi, byte [eax + 0x1412]
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x21c]
push ebx
movzx edi, byte [eax + 0x1411]
or edi, esi
sub edi, 0x111
call fcn.0040ab14
cmp edi, dword [eax + 0x180c]
mov edi, dword [ebp - 0x21c]
je 0x418fd8
mov ecx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x230]
add eax, 0xec8
cmp dword [ebp - 0x234], 0
mov dword [ebp - 0x224], eax
je 0x419030
xor edx, edx
push edx
push edx
push edx
push edx
push ecx
push 0x4c9ff4
push 2
push edx
mov ecx, eax
jmp 0x419b10
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 3
jne 0x418f95
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
mov esi, eax
call fcn.0040ab14
mov al, byte [eax + 0x141d]
cmp al, byte [esi + 0x1429]
jae 0x418f8f
push 3
jmp 0x418fda
mov esi, dword [ebp - 0x218]
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 3
jne 0x418fe6
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
mov esi, eax
call fcn.0040ab14
mov al, byte [eax + 0x141d]
cmp al, byte [esi + 0x1429]
jne 0x418fe0
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + 0x1429], 0x64
je 0x418fe0
push 2
pop ecx
jmp 0x418f28
mov esi, dword [ebp - 0x218]
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 5
jne 0x418f22
push ebx
mov ecx, edi
call fcn.0040ab14
push 0x64
pop ecx
push ebx
movzx eax, byte [eax + esi + 0x1405]
mov esi, ecx
mov ecx, edi
sub esi, eax
call fcn.0040ab14
movzx eax, word [eax + 0x1834]
cmp esi, eax
jg 0x418f22
jmp 0x418fd8
push 4
jmp 0x418fda
push ecx
push ecx
mov ecx, eax
push dword [ebp - 0x214]
call fcn.00422609
jmp 0x419b3b
push ebx
mov ecx, edi
call fcn.0040ab14
xor ecx, ecx
cmp dword [eax + 0x16d8], ecx
je 0x419ae5
push ebx
mov ecx, edi
call fcn.0040ab14
xor ecx, ecx
cmp dword [eax + 0x16dc], ecx
je 0x419ae5
push ebx
mov ecx, edi
call fcn.0040ab14
xor ecx, ecx
cmp dword [eax + 0x16f8], ecx
jne 0x419ae5
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1724], 0
jne 0x419255
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 5
je 0x4190d5
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xc5
je 0x4190d5
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xc6
jne 0x419255
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
shl ax, 8
movzx esi, ax
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push ebx
movzx eax, byte [eax + ecx + 0x1405]
mov ecx, edi
or ax, si
movzx eax, ax
mov dword [ebp - 0x228], eax
call fcn.0040ab14
mov esi, dword [ebp - 0x218]
movzx eax, byte [eax + esi + 0x1400]
sub eax, 5
je 0x41915d
sub eax, 0xc0
je 0x419146
sub eax, 1
jne 0x41916e
push ebx
mov ecx, edi
call fcn.0040ab14
movzx eax, word [eax + 0x1832]
jmp 0x419155
push ebx
mov ecx, edi
call fcn.0040ab14
movzx eax, word [eax + 0x1830]
mov dword [ebp - 0x240], eax
jmp 0x419174
push ebx
mov ecx, edi
call fcn.0040ab14
movzx eax, word [eax + 0x182e]
jmp 0x419155
mov eax, dword [ebp - 0x240]
test ax, ax
je 0x41918e
cmp word [ebp - 0x228], ax
jb 0x41918e
mov dword [ebp - 0x228], 1
jmp 0x419195
and dword [ebp - 0x228], 0
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1569], 0
je 0x419203
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
add esi, eax
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
mov al, byte [eax + ecx + 0x1403]
cmp al, byte [esi + 0x1569]
jae 0x419203
mov esi, dword [ebp - 0x230]
xor eax, eax
add esi, 0xec8
mov ecx, esi
mov dword [ebp - 0x224], esi
push eax
cmp dword [ebp - 0x234], eax
je 0x419acd
push eax
push eax
push eax
push 3
push 0x4c9ff4
push 2
push eax
jmp 0x419b10
cmp dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x230]
lea esi, [eax + 0xec8]
mov dword [ebp - 0x224], esi
jbe 0x419239
mov ecx, esi
xor eax, eax
push eax
cmp dword [ebp - 0x234], eax
je 0x419232
push eax
push eax
push eax
push 2
jmp 0x4191f6
push 2
jmp 0x419acf
cmp dword [ebp - 0x234], 0
mov eax, dword [eax + 0x6810]
jne 0x41994e
push eax
push ecx
mov ecx, esi
jmp 0x419034
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe8
jne 0x41929e
push ebx
mov ecx, edi
call fcn.0040ab14
xor ecx, ecx
cmp dword [eax + 0x17ec], ecx
je 0x41929e
mov eax, dword [ebp - 0x230]
lea esi, [eax + 0xec8]
mov dword [ebp - 0x224], esi
mov eax, dword [eax + 0x6810]
cmp dword [ebp - 0x234], ecx
je 0x41924c
jmp 0x419950
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xc2
jne 0x4192c7
mov eax, dword [ebp - 0x230]
lea esi, [eax + 0xec8]
mov dword [ebp - 0x224], esi
jmp 0x419239
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xb8
je 0x4192b0
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe6
jne 0x41943e
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0xb
je 0x419315
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0xd
jne 0x41943e
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x17ec], 0
jne 0x4193bc
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
cmp dword [eax + 0x17f0], 0
je 0x41936f
call fcn.0040ab14
push ebx
mov ecx, edi
movzx esi, byte [eax + esi + 0x1406]
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
xor edx, edx
push 0x64
movzx eax, byte [eax + ecx + 0x1405]
add eax, esi
pop ecx
div ecx
jmp 0x4193b0
call fcn.0040ab14
push ebx
mov ecx, edi
cmp dword [eax + 0x17f4], 0
jne 0x4193a0
call fcn.0040ab14
push ebx
mov ecx, edi
cmp dword [eax + 0x17f8], 0
je 0x4193a0
call fcn.0040ab14
movzx ecx, byte [eax + esi + 0x1403]
jmp 0x4193b2
call fcn.0040ab14
push 0x64
pop ecx
movzx eax, byte [eax + esi + 0x1406]
sub ecx, eax
mov dword [ebp - 0x228], ecx
test ecx, ecx
jg 0x4193c3
and dword [ebp - 0x228], 0
mov esi, dword [ebp - 0x230]
mov ecx, edi
add esi, 0xec8
push ebx
mov dword [ebp - 0x224], esi
call fcn.0040ab14
xor ecx, ecx
cmp dword [eax + 0x17ec], ecx
je 0x4193f2
mov eax, dword [ebp - 0x230]
jmp 0x41928b
cmp dword [ebp - 0x228], ecx
jne 0x419418
push ecx
cmp dword [ebp - 0x234], ecx
je 0x41940d
push ecx
push ecx
push ecx
push 3
jmp 0x419b06
push 3
push ecx
push ecx
mov ecx, esi
jmp 0x419ad1
push ebx
mov ecx, edi
call fcn.0040ab14
movzx eax, word [eax + 0x1834]
cmp dword [ebp - 0x228], eax
jle 0x41921e
mov eax, dword [ebp - 0x230]
jmp 0x419239
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xa9
jne 0x41948b
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x14
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x11
jne 0x41948b
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x181c], 4
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xad
jne 0x4194c7
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0xf
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x16
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xb1
jne 0x4194ee
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 6
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xbb
jne 0x419515
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 2
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xca
jne 0x419566
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 8
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x12
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x18
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xd1
jne 0x41958d
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 3
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe7
jne 0x4196c9
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 7
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x10
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x11
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x15
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x14
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0xd
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x17
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x19
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 4
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0xa
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x1d
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x1e
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x1f
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x2a
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe8
jne 0x4196f0
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0xc
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe9
jne 0x419746
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 5
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 9
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0xe
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x15
je 0x419771
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe9
jne 0x419887
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x17f8], 0
je 0x419887
push ebx
mov ecx, edi
call fcn.0040ab14
xor ecx, ecx
cmp dword [eax + 0x17e4], ecx
jne 0x419279
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1403], 0
je 0x41985b
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
add esi, eax
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
mov al, byte [eax + ecx + 0x1403]
cmp al, byte [esi + 0x1569]
jb 0x41985b
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push ebx
movzx esi, byte [eax + ecx + 0x1403]
mov ecx, edi
mov eax, dword [ebp - 0x230]
add eax, 0xec8
mov dword [ebp - 0x224], eax
call fcn.0040ab14
cmp si, word [eax + 0x1834]
ja 0x41980b
mov ecx, dword [ebp - 0x224]
jmp 0x419220
cmp dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x230]
mov esi, dword [ebp - 0x224]
mov eax, dword [eax + 0x6810]
je 0x419847
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
push 0x4c9ff4
push 2
push ecx
push dword [ebp - 0x214]
mov ecx, esi
call fcn.00466b0b
jmp 0x419b35
push eax
push ecx
push dword [ebp - 0x214]
mov ecx, esi
call fcn.00422609
jmp 0x419b35
mov esi, dword [ebp - 0x230]
xor eax, eax
add esi, 0xec8
mov ecx, esi
mov dword [ebp - 0x224], esi
push eax
cmp dword [ebp - 0x234], eax
jne 0x4191f1
push 3
push eax
push eax
jmp 0x419b23
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 1
jne 0x41995a
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 7
jne 0x41995a
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1403], 0
jne 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1405], 0
jne 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1406], 0
je 0x4192b0
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1569], 0
je 0x419929
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
add esi, eax
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
mov al, byte [eax + ecx + 0x1403]
cmp al, byte [esi + 0x1569]
jb 0x4191ce
cmp dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x230]
lea esi, [eax + 0xec8]
mov eax, dword [eax + 0x6810]
mov dword [ebp - 0x224], esi
je 0x419847
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
jmp 0x419b06
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1724], 0
je 0x419980
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x16ec], 0
je 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 1
jb 0x4199a8
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xd
jbe 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0x16
je 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xbb
jb 0x4199e6
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xc1
jbe 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xc3
jb 0x419a0e
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xd1
jbe 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xd3
jb 0x419a36
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xd4
jbe 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xdc
jb 0x419a5e
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe4
jbe 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe6
jb 0x419a86
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xe7
jbe 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xf0
je 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xfa
je 0x4198ec
push ebx
mov ecx, edi
call fcn.0040ab14
cmp byte [eax + esi + 0x1400], 0xfe
je 0x4198ec
jmp 0x419929
push 3
push eax
push eax
push 0x4c9ff4
push dword [ebp - 0x214]
push 3
call fcn.004669e0
jmp 0x419b3b
mov esi, dword [ebp - 0x230]
add esi, 0xec8
cmp dword [ebp - 0x234], 0
mov dword [ebp - 0x224], esi
push ecx
je 0x419b1d
push ecx
push ecx
push ecx
push 4
push 0x4c9ff4
push 2
push ecx
mov ecx, esi
push dword [ebp - 0x214]
call fcn.00466b0b
jmp 0x419b3b
push 4
push ecx
push ecx
mov ecx, esi
push 0x4c9ff4
push dword [ebp - 0x214]
push 3
call fcn.004669e0
mov dword [ebp - 0x224], esi
push ebx
mov ecx, edi
call fcn.0040ab14
mov esi, dword [ebp - 0x218]
movzx eax, byte [eax + esi + 0x1400]
push eax
lea eax, [ebp - 0x220]
push str._02X
push eax
call fcn.00403636
mov ecx, dword [ebp - 0x224]
add esp, 0xc
push dword [ebp - 0x220]
push 1
push dword [ebp - 0x214]
call fcn.00466b5f
push ebx
mov ecx, edi
call fcn.0040ab14
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0x194]
cmp dword [eax + 0x6808], 0
lea eax, [ebp - 0x210]
push ecx
push 0x100
mov ecx, edi
push eax
je 0x419bce
push dword [ebp - 0x23c]
push dword [ebp - 0x220]
push ebx
call fcn.0040ab14
push dword [eax + 0x18c4]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
jmp 0x419c62
push 0x4c9ff4
push dword [ebp - 0x220]
push ebx
call fcn.0040ab14
push dword [eax + 0x18c4]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x244]
call fcn.00402306
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x244]
mov ecx, dword [ecx + 0x190]
cmp dword [eax - 0xc], 0
push ecx
push 0x100
jne 0x419c2e
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x23c]
jmp 0x419c36
lea ecx, [ebp - 0x210]
push ecx
push eax
push dword [ebp - 0x220]
mov ecx, edi
push ebx
call fcn.0040ab14
push dword [eax + 0x18c4]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x244]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x210]
push eax
push 2
push dword [ebp - 0x214]
call fcn.00466b5f
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
cmp dword [eax + 0x1820], 7
jne 0x41a12f
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x1403]
push eax
lea eax, [ebp - 0x220]
push 0x4ca738
push eax
call fcn.00403636
add esp, 0xc
mov ecx, edi
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x1403]
push eax
lea eax, [ebp - 0x220]
push 0x4ca738
push eax
call fcn.00403636
mov ecx, dword [ebp - 0x224]
add esp, 0xc
push dword [ebp - 0x220]
push 3
push dword [ebp - 0x214]
call fcn.00466b5f
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x238]
add ecx, 0x1ab
imul ecx, ecx, 0xc
movzx eax, byte [eax + ecx]
push eax
lea eax, [ebp - 0x220]
push 0x4ca738
push eax
call fcn.00403636
mov ecx, dword [ebp - 0x224]
add esp, 0xc
push dword [ebp - 0x220]
push 4
push dword [ebp - 0x214]
call fcn.00466b5f
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x16dc], 0
je 0x419d75
push ebx
mov ecx, edi
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x1569]
push eax
lea eax, [ebp - 0x220]
push 0x4ca738
push eax
call fcn.00403636
add esp, 0xc
jmp 0x419d91
push 0x4d04c8
call fcn.0048cb73
pop ecx
push eax
push 0x4d04c8
lea ecx, [ebp - 0x220]
call fcn.00402266
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
push 5
push dword [ebp - 0x214]
call fcn.00466b5f
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 0x63d8]
sub eax, 0
je 0x41a09f
sub eax, 1
je 0x419f38
sub eax, 1
je 0x419e5b
sub eax, 1
jne 0x41a09f
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1405]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x140a]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140b]
push eax
push str._d__d__d__d__d__d__d
jmp 0x41a11b
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
movzx esi, byte [eax + esi + 0x1406]
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push ebx
movzx edi, byte [eax + ecx + 0x1408]
mov ecx, dword [ebp - 0x21c]
shl edi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx ebx, byte [eax + ecx + 0x140a]
mov ecx, dword [ebp - 0x21c]
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1405]
mov ecx, dword [ebp - 0x21c]
or eax, esi
mov esi, dword [ebp - 0x22c]
push eax
push esi
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1407]
or eax, edi
mov edi, dword [ebp - 0x21c]
push eax
push esi
mov ecx, edi
call fcn.0040ab14
mov esi, dword [ebp - 0x218]
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
or eax, ebx
mov ebx, dword [ebp - 0x22c]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140b]
push eax
lea eax, [ebp - 0x220]
push str._d__d__d__d
push eax
call fcn.00403636
add esp, 0x18
jmp 0x41afc9
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x21c]
push ebx
movzx eax, byte [eax + esi + 0x140b]
cdq
mov esi, eax
mov edi, edx
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x140a]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1409]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1408]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1407]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1406]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
mov edi, dword [ebp - 0x21c]
shld eax, ebx, 8
mov ecx, edi
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1405]
cdq
add eax, ebx
adc edx, dword [ebp - 0x228]
push edx
push eax
lea eax, [ebp - 0x220]
push str._I64u
push eax
call fcn.00403636
mov ebx, dword [ebp - 0x22c]
add esp, 0x10
jmp 0x41afc9
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1405]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x140a]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140b]
push eax
push str._02X_02X_02X_02X_02X_02X_02X
lea eax, [ebp - 0x220]
push eax
call fcn.00403636
add esp, 0x24
jmp 0x41afc9
call fcn.0040ab14
cmp dword [eax + 0x1820], 4
jne 0x41a5b2
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x16ec], 0
je 0x41a5b2
push ebx
mov ecx, edi
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x1403]
push eax
lea eax, [ebp - 0x220]
push 0x4ca738
push eax
call fcn.00403636
mov ecx, dword [ebp - 0x224]
add esp, 0xc
push dword [ebp - 0x220]
push 3
push dword [ebp - 0x214]
call fcn.00466b5f
mov ecx, dword [ebp - 0x224]
push 0x4d04c8
push 4
push dword [ebp - 0x214]
call fcn.00466b5f
mov ecx, dword [ebp - 0x224]
push 0x4d04c8
push 5
push dword [ebp - 0x214]
call fcn.00466b5f
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 0x63d8]
sub eax, 0
je 0x41a506
sub eax, 1
je 0x41a38d
sub eax, 1
je 0x41a291
sub eax, 1
jne 0x41a506
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x238]
add ecx, 0x1ab
imul ecx, ecx, 0xc
movzx eax, byte [eax + ecx]
mov ecx, edi
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1405]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x140a]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140b]
push eax
push str._d__d__d__d__d__d__d__d
jmp 0x41a59e
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
movzx esi, byte [eax + esi + 0x1405]
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push ebx
movzx edi, byte [eax + ecx + 0x1407]
mov ecx, dword [ebp - 0x21c]
shl edi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx ebx, byte [eax + ecx + 0x1409]
mov ecx, dword [ebp - 0x21c]
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x140b]
mov ecx, dword [ebp - 0x21c]
shl eax, 8
mov dword [ebp - 0x228], eax
call fcn.0040ab14
mov ecx, eax
mov eax, dword [ebp - 0x238]
add eax, 0x1ab
imul eax, eax, 0xc
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 0x21c]
or eax, esi
mov esi, dword [ebp - 0x22c]
push eax
push esi
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1406]
or eax, edi
mov edi, dword [ebp - 0x21c]
push eax
push esi
mov ecx, edi
call fcn.0040ab14
mov esi, dword [ebp - 0x218]
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
or eax, ebx
mov ebx, dword [ebp - 0x22c]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140a]
or eax, dword [ebp - 0x228]
jmp 0x419f1e
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x21c]
push ebx
movzx eax, byte [eax + esi + 0x140b]
cdq
mov esi, eax
mov edi, edx
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x140a]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1409]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1408]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1407]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1406]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1405]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
mov ebx, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x21c]
shld edi, esi, 8
push ebx
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x238]
add ecx, 0x1ab
imul ecx, ecx, 0xc
movzx eax, byte [eax + ecx]
jmp 0x41af2c
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x238]
add ecx, 0x1ab
imul ecx, ecx, 0xc
movzx eax, byte [eax + ecx]
mov ecx, edi
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1405]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x140a]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140b]
push eax
push str._02X_02X_02X_02X_02X_02X_02X_02X
lea eax, [ebp - 0x220]
push eax
call fcn.00403636
add esp, 0x28
jmp 0x41afc9
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 3
jne 0x41a9e8
mov ecx, dword [ebp - 0x224]
push 0x4d04c8
push 3
push dword [ebp - 0x214]
call fcn.00466b5f
mov ecx, dword [ebp - 0x224]
push 0x4d04c8
push 4
push dword [ebp - 0x214]
call fcn.00466b5f
mov ecx, dword [ebp - 0x224]
push 0x4d04c8
push 5
push dword [ebp - 0x214]
call fcn.00466b5f
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 0x63d8]
sub eax, 0
je 0x41a951
sub eax, 1
je 0x41a7d8
sub eax, 1
je 0x41a6d6
sub eax, 1
jne 0x41a951
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1403]
push eax
push ebx
call fcn.0040ab14
mov ecx, dword [ebp - 0x238]
add ecx, 0x1ab
imul ecx, ecx, 0xc
movzx eax, byte [eax + ecx]
mov ecx, edi
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1405]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140a]
jmp 0x41a286
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, eax
mov eax, dword [ebp - 0x238]
add eax, 0x1ab
imul eax, eax, 0xc
push ebx
movzx esi, byte [ecx + eax]
mov ecx, edi
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push ebx
movzx edi, byte [eax + ecx + 0x1406]
mov ecx, dword [ebp - 0x21c]
shl edi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx ebx, byte [eax + ecx + 0x1408]
mov ecx, dword [ebp - 0x21c]
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x140a]
mov ecx, dword [ebp - 0x21c]
shl eax, 8
mov dword [ebp - 0x228], eax
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1403]
mov ecx, dword [ebp - 0x21c]
or eax, esi
mov esi, dword [ebp - 0x22c]
push eax
push esi
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1405]
or eax, edi
mov edi, dword [ebp - 0x21c]
push eax
push esi
mov ecx, edi
call fcn.0040ab14
mov esi, dword [ebp - 0x218]
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
or eax, ebx
mov ebx, dword [ebp - 0x22c]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x1409]
or eax, dword [ebp - 0x228]
jmp 0x419f1e
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x21c]
push ebx
movzx eax, byte [eax + esi + 0x140a]
cdq
mov esi, eax
mov edi, edx
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1409]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1408]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1407]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1406]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1405]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x238]
add ecx, 0x1ab
imul ecx, ecx, 0xc
movzx eax, byte [eax + ecx]
cdq
mov esi, eax
mov ecx, dword [ebp - 0x21c]
add esi, ebx
mov ebx, dword [ebp - 0x22c]
mov edi, edx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
push ebx
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1403]
jmp 0x41af2c
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1403]
push eax
push ebx
call fcn.0040ab14
mov ecx, dword [ebp - 0x238]
add ecx, 0x1ab
imul ecx, ecx, 0xc
movzx eax, byte [eax + ecx]
mov ecx, edi
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1405]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140a]
jmp 0x41a598
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x1820], 0x13
jne 0x41abcd
push 0x4d04c8
call fcn.0048cb73
pop ecx
push eax
push 0x4d04c8
lea ecx, [ebp - 0x220]
call fcn.00402266
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
push 3
push dword [ebp - 0x214]
call fcn.00466b5f
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
push 4
push dword [ebp - 0x214]
call fcn.00466b5f
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
push 5
push dword [ebp - 0x214]
call fcn.00466b5f
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 0x63d8]
sub eax, 0
je 0x41a09f
sub eax, 1
jne 0x419dc8
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x21c]
push ebx
movzx eax, byte [eax + esi + 0x140b]
cdq
mov esi, eax
mov edi, edx
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x140a]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1409]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1408]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1407]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1406]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
mov edi, dword [ebp - 0x21c]
shld eax, ebx, 8
mov ecx, edi
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1405]
cdq
add eax, ebx
adc edx, dword [ebp - 0x228]
jmp 0x41a07e
push ebx
mov ecx, edi
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x1403]
push eax
lea eax, [ebp - 0x220]
push 0x4ca738
push eax
call fcn.00403636
mov ecx, dword [ebp - 0x224]
add esp, 0xc
push dword [ebp - 0x220]
push 3
push dword [ebp - 0x214]
call fcn.00466b5f
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x238]
add ecx, 0x1ab
imul ecx, ecx, 0xc
movzx eax, byte [eax + ecx]
push eax
lea eax, [ebp - 0x220]
push 0x4ca738
push eax
call fcn.00403636
mov ecx, dword [ebp - 0x224]
add esp, 0xc
push dword [ebp - 0x220]
push 4
push dword [ebp - 0x214]
call fcn.00466b5f
push ebx
mov ecx, edi
call fcn.0040ab14
cmp dword [eax + 0x16dc], 0
je 0x41ac8c
push ebx
mov ecx, edi
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x1569]
push eax
lea eax, [ebp - 0x220]
push 0x4ca738
push eax
call fcn.00403636
add esp, 0xc
jmp 0x41aca8
push 0x4d04c8
call fcn.0048cb73
pop ecx
push eax
push 0x4d04c8
lea ecx, [ebp - 0x220]
call fcn.00402266
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
push 5
push dword [ebp - 0x214]
call fcn.00466b5f
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 0x63d8]
sub eax, 0
je 0x41af4f
sub eax, 1
je 0x41ae25
sub eax, 1
je 0x41ad5d
sub eax, 1
jne 0x41af4f
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1405]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140a]
push eax
push str._d__d__d__d__d__d
jmp 0x41afba
push ebx
mov ecx, edi
call fcn.0040ab14
push ebx
mov ecx, edi
movzx esi, byte [eax + esi + 0x1406]
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push ebx
movzx edi, byte [eax + ecx + 0x1408]
mov ecx, dword [ebp - 0x21c]
shl edi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx ebx, byte [eax + ecx + 0x140a]
mov ecx, dword [ebp - 0x21c]
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1405]
mov ecx, dword [ebp - 0x21c]
or eax, esi
mov esi, dword [ebp - 0x22c]
push eax
push esi
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1407]
or eax, edi
mov edi, dword [ebp - 0x21c]
push eax
push esi
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1409]
or eax, ebx
push eax
lea eax, [ebp - 0x220]
push str._d__d__d
push eax
call fcn.00403636
add esp, 0x14
mov ebx, esi
jmp 0x41afc9
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, dword [ebp - 0x21c]
push ebx
movzx eax, byte [eax + esi + 0x140a]
cdq
mov esi, eax
mov edi, edx
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1409]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1408]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
push dword [ebp - 0x22c]
movzx eax, byte [eax + ecx + 0x1407]
mov ecx, dword [ebp - 0x21c]
cdq
mov ebx, eax
mov eax, edx
add ebx, esi
adc eax, edi
shld eax, ebx, 8
mov dword [ebp - 0x228], eax
shl ebx, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1406]
mov ecx, dword [ebp - 0x21c]
cdq
mov esi, eax
mov edi, edx
add esi, ebx
mov ebx, dword [ebp - 0x22c]
push ebx
adc edi, dword [ebp - 0x228]
shld edi, esi, 8
shl esi, 8
call fcn.0040ab14
mov ecx, dword [ebp - 0x218]
movzx eax, byte [eax + ecx + 0x1405]
cdq
add eax, esi
adc edx, edi
push edx
push eax
lea eax, [ebp - 0x220]
push str._I64u
push eax
call fcn.00403636
mov edi, dword [ebp - 0x21c]
add esp, 0x10
jmp 0x41afc9
push ebx
mov ecx, edi
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1405]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1406]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1407]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1408]
push eax
push ebx
call fcn.0040ab14
mov ecx, edi
movzx eax, byte [eax + esi + 0x1409]
push eax
push ebx
call fcn.0040ab14
movzx eax, byte [eax + esi + 0x140a]
push eax
push str._02X_02X_02X_02X_02X_02X
lea eax, [ebp - 0x220]
push eax
call fcn.00403636
add esp, 0x20
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
push 6
push dword [ebp - 0x214]
call fcn.00466b5f
inc dword [ebp - 0x214]
mov esi, dword [ebp - 0x238]
mov ecx, edi
inc esi
push ebx
mov dword [ebp - 0x238], esi
call fcn.0040ab14
cmp esi, dword [eax + 0x17a4]
jb 0x418d91
cmp dword [ebp - 0x234], 0
jne 0x41b026
mov eax, dword [ebp - 0x248]
push 0
push 1
push 0xb
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x220]
add ecx, 0xfffffff0
call fcn.0040259b
xor eax, eax
inc eax
call fcn.00487e76
ret 4