Function at 0x462160
Capabilities:
Get graphical window text
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x50a1ef
mov eax, dword fs:[0]
push eax
sub esp, 0xc28
mov eax, dword [0x54f018]
xor eax, esp
mov dword [esp + 0xbf0], eax
push ebx
push esi
push edi
mov eax, dword [0x54f018]
xor eax, esp
push eax
lea eax, [esp + 0xc38]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.00493c40
push 1
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.004a7fc0
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_316]
xor edi, edi
mov dword [esp + 0xc40], edi
call fcn.004b0830
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x110]
push edi
push eax
call fcn.004eac70
push str.UserCfgSetting.ini
push eax
lea ecx, [esp + 0xd8]
push ecx
mov byte [esp + 0xc54], 1
call fcn.004040e0
add esp, 0x14
mov byte [esp + 0xc40], 3
cmp dword [esp + 0x124], 0x10
jb 0x46221f
mov edx, dword [esp + 0x110]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0xffffffffffffffff
mov esi, 0xf
push edi
lea eax, [esp + 0xec]
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], edi
push eax
mov dword [esp + 0x14c], esi
mov dword [esp + 0x148], edi
mov byte [esp + 0x138], 0
mov byte [ecx], 0
call fcn.00401460
lea ecx, [esp + 0x78]
call fcn.004e9900
mov byte [esp + 0xc40], 4
push 0xc
push str.FLASH_SELECT
lea ecx, [esp + 0x98]
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], edi
mov byte [esp + 0x98], 0
call fcn.004016d0
mov byte [esp + 0xc40], 5
push 6
push str.OPTION
lea ecx, [esp + 0xb4]
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], edi
mov byte [esp + 0xb4], 0
call fcn.004016d0
push edi
push edi
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x6c]
mov byte [esp + 0xc50], 6
call fcn.004e9760
cmp dword [esp + 0xc0], 0x10
mov dword [esp + 0x24], eax
jb 0x462309
mov eax, dword [esp + 0xac]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov byte [esp + 0xc40], 4
cmp dword [esp + 0xa4], 0x10
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], edi
mov byte [esp + 0xac], 0
jb 0x462342
mov ecx, dword [esp + 0x90]
push ecx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov eax, dword [esp + 0x24]
mov esi, dword [sym.imp.mfc100.dll_Ordinal_6970]
cmp eax, edi
jne 0x462452
lea edx, [esp + 0x18]
push edx
lea ecx, [ebx + 0x49e0]
call esi
mov edx, dword [esp + 0x18]
mov eax, edx
lea ecx, [eax + 1]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], edi
mov byte [esp + 0x90], 0
mov dword [esp + 0x24], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x462388
sub eax, dword [esp + 0x24]
lea ecx, [esp + 0x90]
push eax
push edx
call fcn.004016d0
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x90]
mov byte [esp + 0xc40], 7
call fcn.0049a6c0
mov byte [esp + 0xc40], 4
cmp dword [esp + 0xa4], 0x10
jb 0x4623dc
mov edx, dword [esp + 0x90]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov edx, dword [esp + 0x18]
mov eax, edx
lea ecx, [eax + 1]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], edi
mov byte [esp + 0x90], 0
mov dword [esp + 0x24], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x462403
sub eax, dword [esp + 0x24]
lea ecx, [esp + 0x90]
push eax
push edx
call fcn.004016d0
push 0xffffffffffffffff
mov byte [esp + 0xc44], 8
mov ecx, dword [esp + 0x20]
push edi
lea edx, [esp + 0x98]
push edx
add ecx, 0x714
call fcn.00401460
cmp dword [esp + 0xa4], 0x10
jb 0x4624a0
mov eax, dword [esp + 0x90]
push eax
jmp 0x462497
cmp eax, 1
jne 0x4624a0
mov ecx, dword [esp + 0x20]
lea edi, [esp + 0xe4]
call fcn.0049a5a0
push 0xffffffffffffffff
push 0
mov ecx, edi
push ecx
mov byte [esp + 0xc4c], 9
mov ecx, dword [esp + 0x28]
add ecx, 0x714
call fcn.00401460
cmp dword [esp + 0xf8], 0x10
jb 0x4624a0
mov edx, dword [esp + 0xe4]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov dword [esp + 0x65c], 0xf
mov dword [esp + 0x658], 0
mov byte [esp + 0x648], 0
lea eax, [esp + 0x18]
push eax
lea ecx, [ebx + 0x2620]
mov byte [esp + 0xc44], 0xa
call esi
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov edi, dword [sym.imp.MSVCR100.dll_strcpy_s]
push eax
inc ecx
push ecx
lea ecx, [esp + 0x134]
push ecx
call edi
add esp, 0xc
lea edx, [esp + 0x18]
push edx
lea ecx, [ebx + 0x2694]
call esi
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push eax
inc ecx
push ecx
lea eax, [esp + 0x238]
push eax
call edi
mov ecx, dword [ebx + 0xd8]
add esp, 0xc
push 0
push 0
push 0x147
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [ebx + 0x14c]
push 0
push 0
push 0x147
push edx
mov byte [esp + 0x345], al
call dword [sym.imp.USER32.dll_SendMessageA]
add al, 0xb
lea ecx, [esp + 0x30]
mov byte [esp + 0x334], al
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [esp + 0x38]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea eax, [esp + 0x30]
push eax
lea ecx, [ebx + 0x27f0]
mov byte [esp + 0xc44], 0xd
call esi
lea edx, [esp + 0x34]
lea ecx, [ebx + 0x2708]
push edx
call esi
lea eax, [esp + 0x38]
lea ecx, [ebx + 0x277c]
push eax
call esi
mov ecx, dword [esp + 0x30]
cmp dword [ecx - 0xc], 0
mov byte [esp + 0x2f], 0
jle 0x4625f9
xor esi, esi
mov edi, edi
push esi
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc100.dll_Ordinal_4464]
mov byte [esp + 0x1c], al
cmp al, 0x23
je 0x4625e3
mov edx, dword [esp + 0x1c]
push edx
push esi
lea ecx, [esp + 0x3c]
call dword [sym.imp.mfc100.dll_Ordinal_12090]
mov eax, dword [esp + 0x1c]
push eax
push esi
lea ecx, [esp + 0x40]
call dword [sym.imp.mfc100.dll_Ordinal_12090]
mov cl, byte [esp + 0x2f]
mov edx, dword [esp + 0x30]
inc cl
movzx esi, cl
mov byte [esp + 0x2f], cl
cmp esi, dword [edx - 0xc]
jl 0x4625b0
mov eax, dword [esp + 0x34]
mov esi, dword [sym.imp.mfc100.dll_Ordinal_12868]
push eax
lea ecx, [ebx + 0x2708]
call esi
mov ecx, dword [esp + 0x38]
push ecx
lea ecx, [ebx + 0x277c]
call esi
mov edx, dword [ebx + 0xd8]
push 0
push 0
push 0x147
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 2
jne 0x462831
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x462660
test cl, cl
je 0x46265c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x462660
add eax, 2
add esi, 2
test cl, cl
jne 0x462640
xor eax, eax
jmp 0x462665
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
js 0x462831
mov ecx, dword [esp + 0x20]
call fcn.00494010
push eax
xor esi, esi
lea eax, [esp + 0x94]
push esi
push eax
call fcn.004eac70
sub esp, 0x14
mov ecx, esp
mov byte [esp + 0xc60], 0xe
mov dword [esp + 0x44], esp
push str.UI_3language
push eax
push ecx
call fcn.004040e0
add esp, 0xc
lea edi, [esp + 0x5c]
call fcn.00401040
mov byte [esp + 0xc40], 0x10
cmp dword [esp + 0xa4], 0x10
jb 0x4626d3
mov edx, dword [esp + 0x90]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
push esi
push esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
mov eax, 0xf
push 0x11
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x10], esi
push str.LOG_SERIAL_NO_ERR
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], esi
mov byte [esp + 0xbc], 0
mov byte [ecx], 0
call fcn.004016d0
lea edi, [esp + 0x108]
lea ecx, [esp + 0x60]
call fcn.00401240
mov byte [esp + 0xc48], 0x11
cmp dword [eax + 0x14], 0x10
jb 0x46272e
mov eax, dword [eax]
push eax
mov ecx, ebx
call dword [sym.imp.mfc100.dll_Ordinal_7871]
mov ebx, 0x10
mov byte [esp + 0xc40], 0x10
cmp dword [esp + 0xf8], ebx
jb 0x46275e
mov eax, dword [esp + 0xe4]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov ecx, dword [esp + 0x20]
push esi
call fcn.0049c3a0
mov byte [esp + 0xc40], 0xd
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], vtable.CLanguage.0
cmp ecx, esi
je 0x46278c
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esp + 0x40], esi
lea ecx, [esp + 0x38]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc100.dll_Ordinal_901]
cmp dword [esp + 0x65c], ebx
jb 0x4627c4
mov ecx, dword [esp + 0x648]
push ecx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov edi, 0xf
lea ecx, [esp + 0x5c]
mov dword [esp + 0x65c], edi
mov dword [esp + 0x658], esi
mov byte [esp + 0x648], 0
mov byte [esp + 0xc40], 3
call fcn.004e9710
cmp dword [esp + 0xdc], ebx
jb 0x46280a
mov edx, dword [esp + 0xc8]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xd8], esi
mov byte [esp + 0xc8], 0
call dword [sym.imp.mfc100.dll_Ordinal_901]
xor eax, eax
jmp 0x4636dd
mov ecx, dword [esp + 0x20]
push 1
call fcn.0049c3a0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax - 0xc]
push eax
inc ecx
push ecx
lea eax, [esp + 0x33e]
push eax
call edi
mov eax, dword [esp + 0x44]
mov ecx, dword [eax - 0xc]
add esp, 0xc
push eax
inc ecx
push ecx
lea ecx, [esp + 0x442]
push ecx
call edi
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax - 0xc]
add esp, 0xc
push eax
inc ecx
push ecx
lea edx, [esp + 0x546]
push edx
call edi
mov eax, dword [ebx + 0x4c08]
add esp, 0xc
push 0
push 0
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 1
jne 0x4628e9
push 0
mov dword [esp + 0x648], eax
call dword [sym.imp.MSVCR100.dll__time64]
add esp, 4
lea ecx, [esp + 0x24]
push ecx
mov esi, str._Y__m__d
lea edi, [esp + 0x20]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.0044ccd0
mov byte [esp + 0xc40], 0x12
mov edx, dword [esp + 0x1c]
mov eax, edx
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4628e0
jmp 0x462937
xor eax, eax
lea edx, [esp + 0x24]
push edx
lea ecx, [ebx + 0x4a8c]
mov dword [esp + 0x648], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
call dword [sym.imp.mfc100.dll_Ordinal_6838]
lea eax, [esp + 0x24]
push eax
mov esi, str._Y__m__d
lea edi, [esp + 0x20]
call fcn.0044ccd0
mov byte [esp + 0xc40], 0x13
mov edx, dword [esp + 0x1c]
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x462930
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x650]
call fcn.004016d0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc40], 0xd
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [ebx + 0x4b00]
call dword [sym.imp.mfc100.dll_Ordinal_6970]
mov eax, dword [esp + 0x18]
xor edi, edi
cmp dword [eax - 0xc], edi
jne 0x46299b
lea edx, [ebx + 0x3ff0]
push edx
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_1316]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [ebx + 0x4b00]
call dword [sym.imp.mfc100.dll_Ordinal_12868]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov esi, dword [sym.imp.MSVCR100.dll_strcpy_s]
push eax
inc ecx
push ecx
lea ecx, [esp + 0x66c]
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x18]
push edx
lea ecx, [ebx + 0x4b74]
call dword [sym.imp.mfc100.dll_Ordinal_6970]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push eax
inc ecx
push ecx
lea eax, [esp + 0x770]
push eax
call esi
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push ecx
lea ecx, [esp + 0x130]
call fcn.0049b850
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
push edi
push edi
mov byte [esp + 0xc48], 0x14
mov edx, dword [ebx + 0x1c0]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x147
push edx
call esi
sub eax, edi
je 0x462c47
dec eax
je 0x462a3a
mov dword [esp + 0x64], 2
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
jmp 0x462a86
mov eax, dword [ebx + 0x2a8]
push edi
push edi
push 0x147
push eax
mov dword [esp + 0x74], 1
call esi
lea ecx, [esp + 0x18]
push ecx
push eax
lea ecx, [ebx + 0x288]
call dword [sym.imp.mfc100.dll_Ordinal_5204]
mov edx, dword [esp + 0x18]
push 0xa
push edi
push edx
call dword [sym.imp.MSVCR100.dll_strtoul]
xor ecx, ecx
shld ecx, eax, 0x15
add esp, 0xc
shl eax, 0x15
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x18]
push eax
lea ecx, [ebx + 0x2864]
call dword [sym.imp.mfc100.dll_Ordinal_6970]
mov edx, dword [esp + 0x18]
xor eax, eax
lea ecx, [esp + 0x54]
push ecx
push eax
push edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
call dword [sym.imp.SHLWAPI.dll_StrToInt64ExA]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x64]
mov dword [esp + 0x74], eax
call fcn.0049d950
mov edx, dword [ebx + 0x363c]
push 0
push 0
push 0xf0
push edx
call esi
dec eax
neg eax
sbb eax, eax
push 0
inc eax
push 0
mov dword [esp + 0xec], eax
mov eax, dword [ebx + 0x205c]
push 0x147
push eax
call esi
mov edi, dword [sym.imp.mfc100.dll_Ordinal_5204]
lea ecx, [esp + 0x18]
push ecx
push eax
lea ecx, [ebx + 0x203c]
call edi
mov edx, dword [esp + 0x18]
push 0xa
push 0
push edx
call dword [sym.imp.MSVCR100.dll_strtoul]
add esp, 0xc
xor ecx, ecx
shld ecx, eax, 0x15
push 0
shl eax, 0x15
push 0
mov dword [esp + 0xf4], eax
mov eax, dword [ebx + 0x20d0]
push 0x147
push eax
mov dword [esp + 0x100], ecx
call esi
lea ecx, [esp + 0x18]
push ecx
push eax
lea ecx, [ebx + 0x20b0]
call edi
mov edx, dword [esp + 0x18]
push 0xa
push 0
push edx
call dword [sym.imp.MSVCR100.dll_strtoul]
add esp, 0xc
xor ecx, ecx
shld ecx, eax, 0x15
push 0
shl eax, 0x15
push 0
mov dword [esp + 0xfc], eax
mov eax, dword [ebx + 0x2144]
push 0x147
mov dword [esp + 0x104], ecx
push eax
call esi
lea ecx, [esp + 0x18]
push ecx
push eax
lea ecx, [ebx + 0x2124]
call edi
mov edx, dword [esp + 0x18]
push 0xa
push 0
push edx
call dword [sym.imp.MSVCR100.dll_strtoul]
add esp, 0xc
xor ecx, ecx
shld ecx, eax, 0x15
push 0
shl eax, 0x15
push 0
mov dword [esp + 0x104], eax
mov eax, dword [ebx + 0x21b8]
push 0x147
push eax
mov dword [esp + 0x110], ecx
call esi
lea ecx, [esp + 0x18]
push ecx
push eax
lea ecx, [ebx + 0x2198]
call edi
mov edx, dword [esp + 0x18]
push 0xa
push 0
push edx
call dword [sym.imp.MSVCR100.dll_strtoul]
xor ecx, ecx
shld ecx, eax, 0x15
shl eax, 0x15
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x108], ecx
push eax
lea ecx, [esp + 0xe8]
call fcn.0049e020
mov ecx, dword [ebx + 0x22a0]
push 0
push 0
push 0x147
push ecx
call esi
cmp eax, 3
ja case.0x462c40.0
jmp dword [eax*4 + 0x463704]
mov eax, dword [ebx + 0x2a8]
push edi
push edi
push 0x147
push eax
mov dword [esp + 0x74], edi
call esi
cmp eax, edi
jne 0x462a52
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
jmp 0x462a86
fld qword [0x531f80]
jmp 0x462c8e
fld qword [0x531ed0]
jmp 0x462c8e
fld qword [0x531fa0]
jmp 0x462c8e
fld qword [0x531f88]
mov edi, dword [esp + 0x20]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.0049e950
mov edx, dword [ebx + 0x222c]
push 0
push 0
push 0x147
push edx
call esi
push eax
mov ecx, edi
call fcn.0049ed30
mov eax, dword [ebx + 0x296c]
push 0
push 0
push 0xf0
push eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.0049eee0
mov ecx, edi
call fcn.0049ee10
mov ecx, dword [ebx + 0x296c]
push 0
push eax
push 0xf1
push ecx
call esi
mov edx, dword [ebx + 0x2314]
push 0
push 0
push 0x147
push edx
call esi
push eax
mov ecx, edi
call fcn.0049ea90
mov eax, dword [ebx + 0x2388]
push 0
push 0
push 0x147
push eax
call esi
mov ecx, dword [ebx + 0x3228]
push 0
push 0
push 0xf0
push ecx
mov edi, eax
call esi
cmp eax, 1
jne 0x462d3b
cmp edi, 3
je case.0x462d40.0
cmp edi, 4
ja case.0x462d40.0
jmp dword [edi*4 + 0x463714]
mov dword [esp + 0x1c], 1
jmp 0x462d77
mov dword [esp + 0x1c], 7
jmp 0x462d77
mov dword [esp + 0x1c], 5
jmp 0x462d77
mov dword [esp + 0x1c], 4
jmp 0x462d77
mov dword [esp + 0x1c], 2
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
push edx
mov ecx, edi
call fcn.0049f0e0
mov eax, dword [ebx + 0x28f8]
push 0
push 0
push 0xf0
push eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.0049f480
mov ecx, dword [ebx + 0x23fc]
push 0
push 0
push 0x147
push ecx
call esi
mov edx, dword [ebx + 0x29e0]
push 0
push 0
push 0xf0
push edx
mov dword [esp + 0x38], eax
call esi
mov ecx, dword [esp + 0x20]
dec eax
neg eax
sbb eax, eax
inc eax
lea edi, [esp + 0x24]
mov dword [esp + 0x24], eax
call fcn.0049f6d0
or eax, 0xffffffff
push 0
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
or eax, eax
push 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov eax, dword [ebx + 0x2a54]
push 0xf0
push eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x2aac]
sub eax, dword [ebx + 0x2aa8]
sar eax, 2
test al, al
je 0x462e93
movzx edx, al
lea ecx, [esp + 0xb0]
mov dword [esp + 0x3c], ecx
xor edi, edi
mov dword [esp + 0x24], edx
jmp 0x462e60
mov eax, dword [ebx + 0x2aa8]
mov eax, dword [eax + edi]
mov eax, dword [eax + 0x20]
push 0
push 0
push 0xf0
push eax
call esi
lea ecx, [eax - 1]
mov eax, dword [esp + 0x3c]
neg ecx
sbb cl, cl
mov byte [eax], cl
inc eax
add edi, 4
dec dword [esp + 0x24]
mov dword [esp + 0x3c], eax
jne 0x462e60
mov eax, dword [ebx + 0x2c8c]
sub eax, dword [ebx + 0x2c88]
sar eax, 2
test al, al
je 0x462ef3
movzx eax, al
lea edx, [esp + 0xb8]
mov dword [esp + 0x24], edx
xor edi, edi
mov dword [esp + 0x3c], eax
lea ebx, [ebx]
mov eax, dword [ebx + 0x2c88]
mov eax, dword [eax + edi]
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0xf0
push ecx
call esi
lea edx, [eax - 1]
mov eax, dword [esp + 0x24]
neg edx
sbb dl, dl
mov byte [eax], dl
inc eax
add edi, 4
dec dword [esp + 0x3c]
mov dword [esp + 0x24], eax
jne 0x462ec0
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0xac]
call fcn.0049fc00
mov eax, dword [ebx + 0x3058]
push 0
push 0
push 0xf0
push eax
call esi
mov ecx, dword [ebx + 0x30cc]
dec eax
push 0
neg eax
push 0
sbb eax, eax
push 0xf0
inc eax
push ecx
mov dword [esp + 0x58], eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push 0x6c36fc
mov dword [esp + 0x50], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x6c446c], 0
jne 0x462f84
push 0x114
call dword [sym.imp.mfc100.dll_Ordinal_1294]
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0xc40], 0x15
test eax, eax
je 0x462f75
push eax
call fcn.00493980
jmp 0x462f77
xor eax, eax
mov byte [esp + 0xc40], 0x14
mov dword [0x6c446c], eax
push 0x6c36fc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [0x6c446c]
push edx
lea ecx, [esp + 0x978]
call fcn.004a9550
mov edi, dword [esp + 0x980]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x3c], eax
test edi, edi
je 0x463000
mov eax, dword [esp + 0x984]
mov dword [esp + 0x24], eax
cmp edi, eax
je 0x462ff6
cmp dword [edi + 0x14], 0x10
jb 0x462fd5
mov eax, dword [edi]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
mov byte [edi], 0
add edi, 0x1c
cmp edi, dword [esp + 0x24]
jne 0x462fc3
mov edi, dword [esp + 0x980]
push edi
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
cmp dword [esp + 0x3c], 0
lea ecx, [ebx + 0x30ac]
je 0x463011
push 5
jmp 0x463013
push 0
call dword [sym.imp.mfc100.dll_Ordinal_12962]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [ebx + 0x3120]
call dword [sym.imp.mfc100.dll_Ordinal_6970]
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
mov ecx, dword [esp + 0x20]
lea edi, [esp + 0x48]
mov word [esp + 0x50], ax
call fcn.004a0290
mov eax, dword [ebx + 0x31b4]
push 0
push 0
push 0xf0
push eax
call esi
mov edi, dword [esp + 0x20]
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a0560
mov ecx, dword [ebx + 0x3228]
push 0
push 0
push 0xf0
push ecx
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a0710
mov edx, dword [ebx + 0x501c]
push 0
push 0
push 0xf0
push edx
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a08c0
mov eax, dword [ebx + 0x329c]
push 0
push 0
push 0xf0
push eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a0a70
mov ecx, dword [ebx + 0x3310]
push 0
push 0
push 0xf0
push ecx
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a0c20
push 0
push 0
push 0xf0
mov edx, dword [ebx + 0x34e0]
push edx
call esi
dec eax
neg eax
sbb eax, eax
push 0
inc eax
push 0
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x2470]
push 0x147
push eax
call esi
mov edx, dword [ebx + 0x24e4]
add al, 3
push 0
mov cl, al
push 0
shl cl, 4
push 0x147
add cl, al
push edx
mov byte [esp + 0x38], cl
call esi
add al, 3
mov cl, al
shl cl, 4
add cl, al
mov byte [esp + 0x29], cl
lea edx, [esp + 0x24]
mov ecx, edi
call fcn.004a1110
mov ecx, ebx
call fcn.00461de0
test eax, eax
jne 0x46321d
mov eax, dword [esp + 0x7c]
mov esi, dword [sym.imp.mfc100.dll_Ordinal_1296]
test eax, eax
je 0x463173
push eax
call esi
add esp, 4
lea ecx, [esp + 0x38]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov ebx, 0x10
cmp dword [esp + 0x65c], ebx
jb 0x4631ac
mov edx, dword [esp + 0x648]
push edx
call esi
add esp, 4
mov edi, 0xf
lea ecx, [esp + 0x5c]
mov dword [esp + 0x65c], edi
mov dword [esp + 0x658], 0
mov byte [esp + 0x648], 0
mov byte [esp + 0xc40], 3
call fcn.004e9710
cmp dword [esp + 0xdc], ebx
jb 0x4631f2
mov eax, dword [esp + 0xc8]
push eax
call esi
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xd8], 0
mov byte [esp + 0xc8], 0
call dword [sym.imp.mfc100.dll_Ordinal_901]
xor eax, eax
jmp 0x4636dd
mov ecx, dword [ebx + 0x25cc]
push 0
push 0
push 0x147
push ecx
call esi
push eax
mov ecx, edi
call fcn.004a0d00
mov edx, dword [ebx + 0x3384]
push 0
push 0
push 0xf0
push edx
call esi
dec eax
neg eax
sbb eax, eax
push 0
inc eax
push 0
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x33f8]
push 0xf0
push eax
call esi
mov ecx, dword [ebx + 0x346c]
dec eax
push 0
neg eax
push 0
sbb eax, eax
push 0xf0
inc eax
push ecx
mov dword [esp + 0x5c], eax
call esi
mov ecx, dword [esp + 0x20]
dec eax
neg eax
sbb eax, eax
inc eax
lea edi, [esp + 0x48]
mov dword [esp + 0x50], eax
call fcn.004a1550
push 0x3f
lea edx, [esp + 0xbc1]
push 0
push edx
mov byte [esp + 0xbc8], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x40
lea eax, [esp + 0xbc0]
push eax
lea ecx, [ebx + 0x4c5c]
call dword [sym.imp.mfc100.dll_Ordinal_6969]
lea ecx, [esp + 0xbbc]
push ecx
call dword [sym.imp.MSVCR100.dll_atof]
mov edi, dword [esp + 0x24]
push ecx
mov ecx, edi
fstp qword [esp]
call fcn.004a6670
lea ecx, [ebx + 0x41d0]
push edi
call fcn.004a63c0
mov edx, dword [ebx + 0x4d64]
push 0
push 0
push 0xf0
push edx
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a6820
mov eax, dword [ebx + 0x4dd8]
push 0
push 0
push 0xf0
push eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a69d0
mov ecx, dword [ebx + 0x4e4c]
push 0
push 0
push 0xf0
push ecx
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a6b80
mov edx, dword [ebx + 0x4ec0]
push 0
push 0
push 0xf0
push edx
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a6f10
mov eax, dword [ebx + 0x4f34]
push 0
push 0
push 0xf0
push eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a70c0
mov ecx, dword [ebx + 0x4fa8]
push 0
push 0
push 0xf0
push ecx
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.004a7270
mov ecx, dword [ebx + 0x380c]
call fcn.0046f6d0
mov eax, dword [ebx + 0x3808]
mov ecx, dword [eax + 0x12c]
mov dword [esp + 0x24], eax
call fcn.00408fa0
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x138]
call fcn.00467a30
mov ecx, edi
call fcn.0049f2e0
test eax, eax
je 0x463544
cmp dword [esp + 0x1c], 6
jne 0x463544
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea eax, [esp + 0x1c]
push eax
lea ecx, [ebx + 0x4cd0]
mov byte [esp + 0xc44], 0x16
call dword [sym.imp.mfc100.dll_Ordinal_6970]
lea ecx, [esp + 0xe4]
push 0
push ecx
call fcn.004eac70
push str.UI_3log_
push eax
lea edx, [esp + 0xbc]
push edx
mov byte [esp + 0xc54], 0x17
call fcn.004040e0
add esp, 0x14
mov byte [esp + 0xc40], 0x18
mov ecx, dword [esp + 0x1c]
push ecx
push eax
lea edx, [esp + 0x98]
push edx
call fcn.004040e0
add esp, 0xc
mov edi, 0x10
cmp dword [esp + 0xc0], edi
jb 0x463489
mov eax, dword [esp + 0xac]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], 0
mov byte [esp + 0xac], 0
mov byte [esp + 0xc40], 0x1b
cmp dword [esp + 0xf8], edi
jb 0x4634c9
mov ecx, dword [esp + 0xe4]
push ecx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x90]
mov ecx, edi
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0xf4], 0
mov byte [esp + 0xe4], 0
call fcn.0049f200
cmp dword [esp + 0xa4], 0x10
jb 0x463514
mov edx, dword [esp + 0x90]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
mov byte [esp + 0xc40], 0x14
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, dword [ebx + 0x35c8]
push 0
push 0
push 0xf0
push eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.00494a10
mov ecx, dword [ebx + 0x234]
push 0
push 0
push 0x147
push ecx
call esi
mov byte [esp + 0x1c], al
test al, al
jne 0x463585
mov byte [esp + 0x1c], 1
jmp 0x463599
cmp al, 1
jne 0x463590
mov byte [esp + 0x1c], 2
jmp 0x463599
cmp al, 2
jne 0x463599
mov byte [esp + 0x1c], 4
mov edx, dword [esp + 0x1c]
push edx
mov ecx, edi
call fcn.004a6d60
push 0x51d12c
lea ecx, [esp + 0x48]
call dword [sym.imp.mfc100.dll_Ordinal_310]
lea eax, [esp + 0x44]
push eax
push 0x3ed
mov ecx, ebx
mov byte [esp + 0xc48], 0x1c
call dword [sym.imp.mfc100.dll_Ordinal_4785]
mov ecx, eax
call dword [sym.imp.mfc100.dll_Ordinal_6970]
mov esi, dword [esp + 0x44]
sub esp, 0x1c
mov ecx, esp
mov eax, esi
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
mov dword [esp + 0x40], esp
mov byte [ecx], 0
lea edx, [eax + 1]
lea esp, [esp]
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x463600
sub eax, edx
push eax
push esi
call fcn.004016d0
mov ecx, edi
call fcn.004a77e0
lea ecx, [esp + 0x44]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, dword [esp + 0x7c]
mov esi, dword [sym.imp.mfc100.dll_Ordinal_1296]
test eax, eax
je 0x463635
push eax
call esi
add esp, 4
lea ecx, [esp + 0x38]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov ebx, 0x10
cmp dword [esp + 0x65c], ebx
jb 0x46366e
mov ecx, dword [esp + 0x648]
push ecx
call esi
add esp, 4
mov edi, 0xf
lea ecx, [esp + 0x5c]
mov dword [esp + 0x65c], edi
mov dword [esp + 0x658], 0
mov byte [esp + 0x648], 0
mov byte [esp + 0xc40], 3
call fcn.004e9710
cmp dword [esp + 0xdc], ebx
jb 0x4636b4
mov edx, dword [esp + 0xc8]
push edx
call esi
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xd8], 0
mov byte [esp + 0xc8], 0
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, 1
mov ecx, dword [esp + 0xc38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xbf0]
xor ecx, esp
call fcn.004e8d32
mov esp, ebp
pop ebp
ret