Function at 0x46f590
Capabilities:
Read .ini file
Resolve function by parsing pe exports
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x5a09a9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf8
push ebx
mov ebx, dword [esp + 0x10c]
push ebp
push esi
push edi
xor edi, edi
cmp ebx, 4
mov ebp, ecx
mov dword [esp + 0x34], edi
jne 0x46f650
cmp dword [ebp + 0x118], edi
je 0x47141a
mov eax, dword [ebp + 0x114]
push 1
push edi
lea ecx, [ebp + 0x110]
mov ebx, dword [eax]
call fcn.0056fcec
mov edi, dword [ebp + 0x9dfc]
mov ecx, 0x400
mov esi, ebx
add edi, 0x406c
rep movsd dword es:[edi], dword [esi]
push ebx
call fcn.00571134
mov dword [ebp + 0xa074], 1
mov ecx, dword [ebp + 0x9dfc]
add esp, 4
mov edx, dword [ecx + 0x1c]
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [0x64fea0]
test eax, eax
je 0x47141a
mov ebp, dword [ebp + 0x9dfc]
push 0x105
push 0
push 0
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x47141a
cmp ebx, 3
jne 0x46f6c9
cmp dword [0x60c1a0], edi
jne 0x46f697
mov eax, dword [ebp + 0xa454]
cmp eax, edi
je 0x46f697
push 0x600dc0
push eax
mov ecx, ebp
call fcn.004a3b30
test eax, eax
je 0x46f687
mov ecx, dword [ebp + 0xa454]
push ecx
call fcn.00521fa0
add esp, 4
mov ecx, dword [ebp + 0xa454]
push edi
push edi
push edi
mov edx, dword [ecx]
push 3
call dword [edx + 4]
mov ebp, dword [ebp + 0x8328]
cmp ebp, edi
je 0x46f6a9
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x50]
mov ecx, dword [0x6810fc]
mov eax, 0xa
cmp ecx, eax
jle 0x47141a
sub ecx, eax
mov dword [0x6810fc], ecx
jmp 0x47141a
cmp ebx, 2
jne 0x46f77e
cmp dword [0x60cdf8], edi
je 0x46f77e
cmp dword [0x64ff04], edi
jne 0x46f6f2
cmp dword [0x64ff08], edi
je 0x46f77e
mov eax, dword [0x64fe78]
cmp dword [eax + 0x9fc8], edi
je 0x46f716
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xa
call esi
mov eax, dword [0x64fe78]
cmp dword [eax + 0x9fc8], edi
jne 0x46f705
mov ecx, dword [eax + 0x9e80]
mov esi, dword [sym.imp.KERNEL32.dll_ResetEvent]
push ecx
call esi
mov edx, dword [0x64fe78]
mov eax, dword [edx + 0x9e84]
push eax
call esi
lea ecx, [ebp + 0x8dc8]
push ecx
lea ecx, [ebp + 0x9e88]
call fcn.0051dbb0
lea edx, [ebp + 0x8dc4]
lea ecx, [ebp + 0x9e8c]
push edx
call fcn.00575c21
mov dword [ebp + 0x9fc8], 8
mov eax, dword [ebp + 0x9e80]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [ebp + 0x9e84]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [ebp + 0x9e48], edi
je 0x46f7a5
mov eax, dword [ebp + 0x9e40]
cmp eax, edi
je 0x46f79f
mov ecx, dword [ebp + 0x9e44]
push ecx
lea ecx, [eax + 0x5c]
call fcn.005750ac
mov dword [ebp + 0x9e48], edi
cmp ebx, 2
jne 0x46f883
cmp dword [ebp + 0xa458], edi
je 0x46f883
mov ecx, dword [0x6810fc]
mov eax, 0x64
cmp ecx, eax
jle 0x46f7d1
sub ecx, eax
mov dword [0x6810fc], ecx
mov ecx, dword [ebp + 0xa458]
push 2
mov edx, dword [ecx]
call dword [edx + 0x3c]
mov ecx, dword [ebp + 0xa454]
cmp ecx, edi
je 0x47141a
mov eax, dword [ecx]
push edi
push edi
push edi
push 0xd
call dword [eax + 4]
mov ecx, eax
cmp ecx, edi
jne 0x46f801
mov ecx, 1
cmp ecx, dword [0x60c1a4]
je 0x46f839
mov eax, 0x4b0
mov dword [0x60c1a4], ecx
cdq
idiv ecx
lea edx, [esp + 0x10]
push 2
push edx
mov ecx, eax
mov byte [esp + 0x19], al
sar ecx, 8
and cl, 0xf
add cl, 0x60
mov byte [esp + 0x18], cl
call fcn.0043b120
add esp, 8
mov ebp, dword [ebp + 0xa454]
push edi
push edi
push edi
mov eax, dword [ebp]
push 0x96
mov ecx, ebp
call dword [eax + 4]
cmp eax, dword [0x60c1a8]
je 0x47141a
cmp eax, edi
lea edx, [esp + 0x10]
setne cl
add ecx, 8
push 1
or cl, 0x40
push edx
mov dword [0x60c1a8], eax
mov byte [esp + 0x18], cl
call fcn.0043b120
add esp, 8
jmp 0x47141a
mov ecx, dword [0x6810fc]
mov eax, 0x1e
cmp ecx, eax
jle 0x46f89a
sub ecx, eax
mov dword [0x6810fc], ecx
cmp dword [0x64fea4], edi
jne 0x47141a
mov dword [0x64fea4], 1
mov ecx, dword [ebp + 0xa454]
cmp ecx, edi
je 0x46f8c6
mov eax, dword [ecx]
push edi
push edi
push edi
push 0x3a
call dword [eax + 4]
jmp 0x46f8c8
xor eax, eax
mov dword [ebp + 0xa070], eax
mov ecx, dword [ebp + 0x9dfc]
call fcn.004c2450
cmp dword [0x64fe94], edi
je 0x46fa37
mov eax, dword [0x60c1ac]
test eax, eax
je 0x46fa37
mov ebx, eax
lea ecx, [esp + 0x38]
dec ebx
lea edx, [esp + 0x40]
mov dword [0x60c1ac], ebx
lea ebx, [ebp + 0x856c]
push ecx
push edx
push 1
mov ecx, ebx
call fcn.0057f970
mov eax, dword [esp + 0x40]
mov ecx, dword [0x64fe8c]
cmp eax, ecx
je 0x46fa37
mov ecx, dword [0x64fe90]
mov dword [0x64fe94], 0
mov dword [ebp + 0xa1c8], ecx
mov edx, dword [0x64fe8c]
mov esi, ecx
mov eax, edx
mov ecx, ebp
mov dword [esp + 0x2c], esi
mov dword [ebp + 0xa1d4], edx
mov dword [esp + 0x14], eax
call fcn.0057525a
mov ecx, ebp
call fcn.00471d50
mov edx, dword [ebp + 0x8588]
lea ecx, [esp + 0x1c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
sub edi, edx
sub edi, esi
sub edi, 0x12
jns 0x46f987
xor edi, edi
mov eax, dword [ebp + 0x8588]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0xb
push eax
call esi
mov ecx, dword [ebp + 0x864c]
push 0
push 0
push 0xb
push ecx
call esi
mov edx, dword [esp + 0x2c]
push 0
mov ecx, ebx
lea eax, [edi + edx + 7]
push eax
push 0
call fcn.0057f998
mov ecx, dword [esp + 0x14]
push 0x19
push ecx
push 1
mov ecx, ebx
call fcn.0057f998
lea esi, [ebp + 0x8630]
push 0
push edi
push 0
mov ecx, esi
call fcn.0057f998
mov edx, dword [esp + 0x2c]
push 0
push edx
push 1
mov ecx, esi
call fcn.0057f998
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xbc]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xbc]
mov eax, dword [ebp + 0x8588]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 1
push 0xb
push eax
call esi
mov ecx, dword [ebp + 0x864c]
push 0
push 1
push 0xb
push ecx
call esi
mov edx, dword [ebp + 0x1c]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [0x60c1a0]
test eax, eax
je 0x46ffcd
mov eax, dword [ebp + 0x1c]
mov ecx, ebp
mov dword [0x64fe70], eax
call fcn.00474480
push 0x60c3ac
mov ecx, ebp
call fcn.00495f00
push 0
call fcn.0055863f
push eax
call fcn.00557835
add esp, 8
mov dword [0x60c1a0], 0
call fcn.00521d80
lea ecx, [esp + 0x6c]
push ecx
mov ecx, ebp
call fcn.00572a60
mov eax, dword [ebp + 0xa1e0]
test eax, eax
je 0x46fa9e
mov dword [esp + 0x74], 2
jmp 0x46fab0
mov eax, dword [ebp + 0xa1ec]
test eax, eax
je 0x46fab0
mov dword [esp + 0x74], 3
mov eax, dword [ebp + 0xa18c]
mov edx, dword [ebp + 0xa1a4]
mov ecx, dword [ebp + 0xa198]
add edx, eax
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xa1b0]
mov dword [esp + 0x90], edx
lea edx, [esp + 0x6c]
mov dword [esp + 0x8c], ecx
add eax, ecx
push edx
mov ecx, ebp
mov dword [esp + 0x98], eax
call fcn.00572a77
push str.ToolBars1
mov ecx, ebp
call fcn.0047b270
mov eax, dword [ebp + 0x9d78]
test eax, eax
je 0x46fb1b
mov eax, dword [ebp + 0xa6c8]
test eax, eax
jne 0x46fb1b
mov ecx, ebp
call fcn.0047c690
mov esi, 1
mov ecx, ebp
mov dword [0x64fe94], esi
call fcn.00471d50
mov ecx, dword [ebp + 0x9df4]
call fcn.004bd0b0
mov edx, dword [ebp + 0x9288]
test edx, edx
je 0x46fb96
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0xa4]
rep stosd dword es:[edi], eax
mov ecx, dword [edx + 4]
lea eax, [esp + 0xa4]
push eax
push 0x3c
push ecx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [ebp + 0x9df4]
lea edx, [esp + 0xa4]
push 0
push edx
add ecx, 0x40
call fcn.004e88f0
mov ecx, dword [ebp + 0x9df8]
lea eax, [esp + 0xa4]
push 0
push eax
add ecx, 0x40
call fcn.004e88f0
mov ecx, dword [ebp + 0xa1f8]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x46fc6d
push str.MixW2.ini
lea edx, [esp + 0xa8]
push 0x63
push edx
push 0x618f40
push 0x60522c
push str.Station
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
or ebx, 0xffffffff
lea edi, [esp + 0xa4]
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x46fc21
lea eax, [esp + 0x14]
push 0xc9a2
push eax
call fcn.005054c0
add esp, 8
mov eax, dword [eax]
push 0
push 0
push eax
mov ecx, ebp
mov dword [esp + 0x11c], 0
call fcn.005737b9
lea ecx, [esp + 0x14]
mov dword [esp + 0x110], ebx
call fcn.00575ae8
push esi
call fcn.00558f08
mov ecx, ebp
call fcn.0046ea10
mov ecx, dword [ebp + 0xa1f8]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x46fc70
lea edx, [esp + 0x14]
push 0xc9a3
push edx
call fcn.005054c0
add esp, 8
mov eax, dword [eax]
push esi
push 0
push eax
mov ecx, ebp
mov dword [esp + 0x11c], esi
call fcn.005737b9
lea ecx, [esp + 0x14]
mov dword [esp + 0x110], ebx
call fcn.00575ae8
jmp 0x46fc70
or ebx, 0xffffffff
mov eax, dword [0x68132c]
test eax, eax
jne 0x46fcb4
lea eax, [esp + 0x14]
push 0xca27
push eax
call fcn.005054c0
add esp, 8
mov eax, dword [eax]
push 0
push 0
push eax
mov ecx, ebp
mov dword [esp + 0x11c], 2
call fcn.005737b9
lea ecx, [esp + 0x14]
mov dword [esp + 0x110], ebx
call fcn.00575ae8
mov ecx, dword [ebp + 0xa454]
test ecx, ecx
je 0x46fced
mov eax, dword [ebp + 0x9d0c]
test eax, eax
je 0x46fced
mov edx, dword [ecx]
push 0
push 0
push 0
push 0x14
call dword [edx + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00575b56
mov ecx, dword [ebp + 0x9d0c]
call fcn.00528cc0
mov ecx, ebp
call fcn.0047f890
call fcn.00521e00
test eax, eax
je 0x46fd35
lea eax, [esp + 0x14]
push 0xca28
push eax
call fcn.005054c0
add esp, 8
push eax
mov ecx, 0x6812bc
mov dword [esp + 0x114], 3
call fcn.00575c21
lea ecx, [esp + 0x14]
mov dword [esp + 0x110], ebx
call fcn.00575ae8
mov eax, dword [0x614cb0]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push str.Misc
lea ecx, [esp + 0x24]
mov dword [esp + 0x114], 4
call fcn.00575c71
push str.ShowTncDlg
lea ecx, [esp + 0x28]
call fcn.00575c71
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
call fcn.0058d5de
mov eax, dword [eax + 4]
push 0
push esi
push edi
mov ecx, eax
call fcn.0058d189
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x46fd9f
mov ecx, ebp
call fcn.00474150
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x110], 6
mov edx, dword [ecx - 8]
test edx, edx
je 0x46fdf2
mov edi, dword [esp + 0x24]
mov edx, dword [edi - 8]
test edx, edx
je 0x46fdf2
mov ebx, ecx
mov esi, eax
call fcn.0058d5de
mov eax, dword [eax + 4]
lea ecx, [esi + 1]
push ecx
push edi
push ebx
mov ecx, eax
call fcn.0058d189
cmp esi, eax
je 0x46fdef
call fcn.0058d5de
mov eax, dword [eax + 4]
push esi
push edi
push ebx
mov ecx, eax
call fcn.0057dd9b
or ebx, 0xffffffff
lea ecx, [esp + 0x24]
mov byte [esp + 0x110], 5
call fcn.00575ae8
lea ecx, [esp + 0x20]
mov dword [esp + 0x110], ebx
call fcn.00575ae8
mov eax, dword [0x614cb0]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push str.Misc
lea ecx, [esp + 0x24]
mov dword [esp + 0x114], 7
call fcn.00575c71
push str.ShowTelnetDlg
lea ecx, [esp + 0x28]
call fcn.00575c71
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
call fcn.0058d5de
mov eax, dword [eax + 4]
push 0
push esi
push edi
mov ecx, eax
call fcn.0058d189
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x46fe7d
mov ecx, ebp
call fcn.0047a780
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x110], 9
mov ecx, dword [ebx - 8]
test ecx, ecx
je 0x46fecb
mov edi, dword [esp + 0x24]
mov ecx, dword [edi - 8]
test ecx, ecx
je 0x46fecb
mov esi, eax
call fcn.0058d5de
mov eax, dword [eax + 4]
lea edx, [esi + 1]
push edx
push edi
push ebx
mov ecx, eax
call fcn.0058d189
cmp esi, eax
je 0x46fecb
call fcn.0058d5de
mov eax, dword [eax + 4]
push esi
push edi
push ebx
mov ecx, eax
call fcn.0057dd9b
lea ecx, [esp + 0x24]
mov byte [esp + 0x110], 8
call fcn.00575ae8
lea ecx, [esp + 0x20]
mov dword [esp + 0x110], 0xffffffff
call fcn.00575ae8
mov eax, dword [0x614cb0]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push str.Misc
lea ecx, [esp + 0x24]
mov dword [esp + 0x114], 0xa
call fcn.00575c71
push str.ShowDxDlg
lea ecx, [esp + 0x28]
call fcn.00575c71
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
call fcn.0058d5de
mov eax, dword [eax + 4]
push 0
push esi
push edi
mov ecx, eax
call fcn.0058d189
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x46ff5a
mov ecx, ebp
call fcn.00474090
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x110], 0xc
mov ecx, dword [ebx - 8]
test ecx, ecx
je 0x46ffa8
mov edi, dword [esp + 0x24]
mov ecx, dword [edi - 8]
test ecx, ecx
je 0x46ffa8
mov esi, eax
call fcn.0058d5de
mov eax, dword [eax + 4]
lea ecx, [esi + 1]
push ecx
push edi
push ebx
mov ecx, eax
call fcn.0058d189
cmp esi, eax
je 0x46ffa8
call fcn.0058d5de
mov eax, dword [eax + 4]
push esi
push edi
push ebx
mov ecx, eax
call fcn.0057dd9b
lea ecx, [esp + 0x24]
mov byte [esp + 0x110], 0xb
call fcn.00575ae8
lea ecx, [esp + 0x20]
mov dword [esp + 0x110], 0xffffffff
call fcn.00575ae8
mov eax, dword [0x64fe98]
test eax, eax
je 0x46ffdc
dec eax
mov dword [0x64fe98], eax
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47005c
lea eax, [esp + 0x6c]
mov ecx, ebp
push eax
call fcn.00572a60
mov eax, dword [esp + 0x74]
xor ecx, ecx
cmp eax, 2
mov edx, dword [esp + 0x88]
sete cl
mov dword [ebp + 0xa1e0], ecx
xor ecx, ecx
cmp eax, 3
sete cl
mov eax, ecx
mov dword [ebp + 0xa1ec], eax
mov eax, dword [esp + 0x8c]
mov dword [ebp + 0xa18c], edx
mov dword [ebp + 0xa198], eax
mov ecx, dword [ebp + 0xa18c]
mov eax, dword [esp + 0x90]
sub eax, ecx
mov dword [ebp + 0xa1a4], eax
mov ecx, dword [ebp + 0xa198]
mov eax, dword [esp + 0x94]
sub eax, ecx
mov dword [ebp + 0xa1b0], eax
mov ecx, dword [ebp + 0x9dfc]
mov eax, dword [ecx + 0x614c]
mov ecx, ebp
mov dword [ebp + 0x9334], eax
lea eax, [ebp + 0x9d10]
push eax
call fcn.00476bc0
mov edx, dword [ebp + 0x9d68]
inc edx
mov dword [ebp + 0x9d68], edx
mov eax, dword [ebp + 0x8328]
test eax, eax
je 0x4700ab
mov ecx, dword [ebp + 0x83a0]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp + 0x8328]
mov eax, dword [ebp + 0x83ac]
mov dword [edx + 0x38], eax
mov eax, dword [0x64fe6c]
test eax, eax
je 0x4700ba
dec eax
mov dword [0x64fe6c], eax
mov eax, dword [ebp + 0x920c]
test eax, eax
je 0x4700cb
dec eax
mov dword [ebp + 0x920c], eax
mov ecx, dword [ebp + 0xa454]
xor ebx, ebx
xor edi, edi
cmp ecx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], 0xf
je 0x470128
mov eax, dword [ecx]
push edi
push edi
push edi
push 0x33
call dword [eax + 4]
mov ecx, ebp
mov esi, eax
call fcn.00476ab0
mov ecx, ebp
mov dword [esp + 0x2c], eax
call fcn.00476b10
mov ecx, ebp
mov dword [esp + 0x14], eax
call fcn.00476a70
mov ecx, ebp
mov edi, eax
call fcn.00476eb0
mov ecx, ebp
mov ebx, eax
call fcn.00476af0
mov dword [ebp + 0x9240], eax
jmp 0x47012c
mov esi, dword [esp + 0x38]
mov ecx, dword [0x60c1c0]
cmp esi, ecx
je 0x470155
mov dword [ebp + 0x9234], esi
mov dword [0x60c1c0], esi
mov ecx, dword [ebp + 0x9230]
test ecx, ecx
je 0x47017a
push 0
call fcn.00574435
jmp 0x47017a
mov eax, dword [ebp + 0x9234]
cmp eax, ecx
je 0x47017a
mov dword [0x60c1c0], eax
mov ecx, dword [ebp + 0xa454]
test ecx, ecx
je 0x47017a
mov edx, dword [ecx]
push 0
push 0
push eax
push 0x32
call dword [edx + 4]
mov ecx, dword [0x60c1b8]
cmp edi, ecx
je 0x4701a3
mov dword [ebp + 0x9244], edi
mov dword [0x60c1b8], edi
mov ecx, dword [ebp + 0x9230]
test ecx, ecx
je 0x4701ba
push 0
call fcn.00574435
jmp 0x4701ba
mov eax, dword [ebp + 0x9244]
cmp eax, ecx
je 0x4701ba
push eax
mov ecx, ebp
mov dword [0x60c1b8], eax
call fcn.00476a90
mov ecx, dword [0x60c1bc]
cmp ebx, ecx
je 0x4701e3
mov dword [ebp + 0x9248], ebx
mov dword [0x60c1bc], ebx
mov ecx, dword [ebp + 0x9230]
test ecx, ecx
je 0x4701fa
push 0
call fcn.00574435
jmp 0x4701fa
mov eax, dword [ebp + 0x9248]
cmp eax, ecx
je 0x4701fa
push eax
mov ecx, ebp
mov dword [0x60c1bc], eax
call fcn.00476e90
mov ecx, dword [0x60c1b4]
mov eax, dword [esp + 0x14]
cmp eax, ecx
je 0x470226
mov dword [ebp + 0x923c], eax
mov dword [0x60c1b4], eax
mov ecx, dword [ebp + 0x9230]
test ecx, ecx
je 0x47023d
push 0
call fcn.00574435
jmp 0x47023d
mov eax, dword [ebp + 0x923c]
cmp eax, ecx
je 0x47023d
push eax
mov ecx, ebp
mov dword [0x60c1b4], eax
call fcn.00476b30
mov ecx, dword [0x60c1b0]
mov eax, dword [esp + 0x2c]
cmp eax, ecx
je 0x470269
mov dword [ebp + 0x9238], eax
mov dword [0x60c1b0], eax
mov ecx, dword [ebp + 0x9230]
test ecx, ecx
je 0x470280
push 0
call fcn.00574435
jmp 0x470280
mov eax, dword [ebp + 0x9238]
cmp eax, ecx
je 0x470280
push eax
mov ecx, ebp
mov dword [0x60c1b0], eax
call fcn.00476ad0
mov eax, dword [ebp + 0xa40c]
test eax, eax
je 0x470291
dec eax
mov dword [ebp + 0xa40c], eax
mov eax, dword [ebp + 0xa440]
mov ecx, 2
cmp eax, ecx
jne 0x4702d0
cmp dword [ebp + 0xa410], 1
jne 0x4702d0
mov eax, dword [ebp + 0xa444]
test eax, eax
je 0x4702ba
dec eax
mov dword [ebp + 0xa444], eax
mov eax, dword [ebp + 0xa444]
test eax, eax
jne 0x4702d0
mov ecx, ebp
call fcn.004720d0
mov ecx, 2
mov eax, dword [ebp + 0xa40c]
test eax, eax
jne 0x47031d
cmp dword [ebp + 0xa440], ecx
jne 0x47031d
cmp dword [ebp + 0xa410], ecx
jne 0x47031d
mov ecx, dword [ebp + 0xa454]
test ecx, ecx
je 0x47031d
mov eax, dword [ecx]
push 0
push 0
push 0
push 0x4e
call dword [eax + 4]
test eax, eax
jne 0x47031d
mov ecx, dword [ebp + 0xa454]
push eax
push eax
push 1
mov edx, dword [ecx]
push 0x4f
call dword [edx + 4]
mov ecx, ebp
call fcn.004720d0
mov eax, dword [ebp + 0x9cfc]
lea esi, [ebp + 0x8dc8]
test eax, eax
jne 0x470357
mov ecx, dword [ebp + 0xa454]
test ecx, ecx
je 0x470346
mov eax, dword [ecx]
push 0
push 0
push 0
push 0x14
call dword [eax + 4]
jmp 0x47034b
mov eax, 0x618f40
push eax
lea ecx, [ebp + 0x8e24]
call fcn.00575c71
mov eax, dword [ebp + 0xa3c8]
cmp eax, 0xffffffff
je 0x470375
lea ecx, [ebp + eax*4 + 0xa288]
push ecx
lea ecx, [ebp + 0x8e24]
call fcn.00575c21
mov eax, dword [ebp + 0x9cfc]
test eax, eax
jne 0x4705ae
mov eax, dword [ebp + 0x9da8]
test eax, eax
je 0x4705ae
mov eax, dword [ebp + 0x9224]
test eax, eax
jne 0x4705ae
fld qword [0x64ff38]
fcomp qword [0x5bb338]
fnstsw ax
test ah, 0x41
jne 0x4705ae
mov ecx, ebp
call fcn.00475340
fsubr qword [0x64ff38]
fabs
fcomp qword [0x5bb1a0]
fnstsw ax
test ah, 0x41
jne 0x4705ae
mov ecx, dword [ebp + 0x9ad8]
mov eax, dword [ecx + 0x184]
test eax, eax
je 0x47050e
mov edx, dword [ecx]
mov edi, dword [ecx + 0x140]
mov ebx, dword [ecx + 0x144]
push 5
call dword [edx + 0x104]
cmp edi, 4
jne 0x47050e
cmp ebx, eax
jne 0x47050e
mov eax, dword [0x614cb0]
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x9ad8]
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x114], 0xd
mov ecx, dword [edx + 0x184]
call fcn.005729a8
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4704fa
lea ecx, [esp + 0x10]
call fcn.0057600a
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebp + 0x8dcc]
call fcn.00575c21
fld qword [0x64ff38]
call fcn.00556a00
mov dword [ebp + 0x8e1c], eax
mov dword [ebp + 0x8e18], eax
fld qword [0x64ff38]
fadd qword [0x5baea0]
lea edx, [esp + 0x14]
push edx
call fcn.00556a00
push eax
call fcn.004d27b0
mov edi, eax
mov eax, dword [ebp + 0x8e24]
push eax
call fcn.004d1870
push eax
call fcn.004d1880
add esp, 0x10
mov ecx, dword [ebp + 0x8e4c]
mov dword [esp + 0x14], eax
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x28]
push edi
push ecx
push eax
mov ecx, ebp
call fcn.004a6010
test eax, eax
jne 0x4704e0
mov dword [ebp + 0x8e60], 8
jmp 0x4704ef
cmp eax, 1
jle 0x4704ef
mov dword [ebp + 0x8e60], 0x10
push esi
mov ecx, 0x681168
call fcn.004d3620
lea ecx, [esp + 0x10]
mov dword [esp + 0x110], 0xffffffff
call fcn.00575ae8
mov ecx, ebp
call fcn.00471d50
lea edi, [ebp + 0x8e68]
push esi
mov ecx, edi
call fcn.0051dbb0
fld qword [0x64ff38]
call fcn.00556a00
mov dword [ebp + 0x8ebc], eax
mov dword [ebp + 0x8eb8], eax
mov dword [0x64ff38], 0
mov dword [0x64ff3c], 0
mov ebx, dword [edi + 0x98]
mov ecx, esi
and ebx, 0xfffffffd
mov dword [edi + 0x98], ebx
call fcn.0051dd50
mov edx, dword [esi + 0x98]
mov ecx, ebp
or edx, 2
mov dword [esi + 0x98], edx
call fcn.004a5ce0
lea edi, [ebp + 0x9a14]
mov ecx, edi
call fcn.00575016
test eax, 0x10000000
je 0x470595
mov ecx, edi
call fcn.004ab3e0
mov ecx, ebp
call fcn.004a46f0
mov ecx, ebp
call fcn.0047f850
test eax, eax
je 0x4705ae
mov ecx, ebp
call fcn.0046dc00
mov eax, dword [ebp + 0x9cfc]
test eax, eax
jne 0x47061b
mov ecx, ebp
call fcn.00475200
fadd qword [0x5baea0]
call fcn.00556a00
mov ecx, ebp
mov dword [ebp + 0x8e18], eax
call fcn.00475340
fadd qword [0x5baea0]
call fcn.00556a00
lea ecx, [esp + 0x14]
mov dword [ebp + 0x8e1c], eax
push ecx
mov ecx, ebp
call fcn.0047f7a0
push eax
mov ecx, esi
mov dword [esp + 0x114], 0xe
call fcn.00575c21
lea ecx, [esp + 0x14]
mov dword [esp + 0x110], 0xffffffff
call fcn.00575ae8
mov edx, dword [ebp + 0xa44c]
mov ecx, dword [0x60c1c4]
mov eax, dword [edx + 0xa4]
cmp ecx, eax
je 0x470652
lea ecx, [ebp + 0x9a14]
mov dword [0x60c1c4], eax
call fcn.004ab3b0
mov eax, dword [ebp + 0x9a30]
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [ebp + 0x9a14]
call fcn.00575016
test eax, 0x10000000
je 0x47069b
mov eax, dword [ebp + 0x9ad8]
mov ecx, dword [eax + 0x140]
mov edx, dword [eax + 0x144]
mov eax, ecx
mov dword [esp + 0x20], edx
dec eax
je 0x470695
dec eax
je 0x47068d
dec eax
jne 0x47069b
lea esi, [ebp + 0x8fa8]
jmp 0x47069b
lea esi, [ebp + 0x9048]
jmp 0x47069b
lea esi, [ebp + 0x90e8]
mov eax, dword [ebp + 0x8dcc]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x4706b3
lea ecx, [ebp + 0x9df0]
call fcn.00575a73
mov eax, dword [ebp + 0xa234]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x18
call fcn.0052f6b0
mov eax, dword [ebp + 0xa204]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x30
call fcn.0052f6b0
push 0x5fe554
push 5
call fcn.00556bd7
push 0x5fe554
push 4
call fcn.00556bd7
mov ecx, dword [0x614cb0]
mov dword [esp + 0x28], ecx
fld qword [ebp + 0xa788]
fmul qword [0x5bafe8]
add esp, 8
lea edx, [esp + 0x20]
mov dword [esp + 0x118], 0xf
fstp qword [esp]
push str._.3f
push edx
call fcn.0056d732
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0x154]
add esp, 0x10
add ecx, 0x330
push eax
call fcn.0052f6b0
lea ecx, [esp + 0x18]
mov dword [esp + 0x110], 0xffffffff
call fcn.00575ae8
test esi, esi
je 0x470e68
mov eax, dword [0x681460]
test eax, eax
jne 0x470e68
mov eax, dword [esi]
mov ecx, dword [ebp + 0x154]
push eax
call fcn.0052f6b0
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x154]
lea ebx, [esi + 4]
push eax
add ecx, 0x150
call fcn.0052f6b0
test byte [esi + 0x98], 1
mov eax, 0x60c358
jne 0x4707a6
mov eax, 0x60c354
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x240
call fcn.0052f6b0
mov ecx, dword [0x614cb0]
mov dword [esp + 0x14], ecx
mov edx, dword [esi + 0x54]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], edx
mov eax, dword [ebp + 0x82b0]
fild qword [esp + 0x38]
sub esp, 8
mov dword [esp + 0x118], 0x10
fmul qword [0x5bafe8]
fstp qword [esp]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0056d732
mov ecx, dword [esp + 0x24]
add esp, 0x10
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x108
call fcn.0052f6b0
mov edx, dword [0x614cb0]
mov dword [esp + 0x2c], edx
mov eax, dword [esi + 0x54]
push 0
push eax
mov byte [esp + 0x118], 0x11
call fcn.004d27b0
add esp, 8
test eax, eax
jl 0x470852
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [0x681144]
lea ecx, [eax + edx*4]
push ecx
lea ecx, [esp + 0x30]
call fcn.00575c21
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x154]
push edx
add ecx, 0x120
call fcn.0052f6b0
mov eax, dword [0x614cb0]
mov dword [esp + 0x40], eax
mov ecx, dword [esi + 0x54]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], ecx
mov eax, dword [ebp + 0x82a4]
fild qword [esp + 0x38]
sub esp, 8
lea edx, [esp + 0x48]
mov byte [esp + 0x118], 0x12
fmul qword [0x5baf98]
fstp qword [esp]
push eax
push edx
call fcn.0056d732
mov eax, dword [esp + 0x50]
mov ecx, dword [ebp + 0x154]
add esp, 0x10
add ecx, 0xf0
push eax
call fcn.0052f6b0
mov eax, dword [esi + 0x5c]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x138
call fcn.0052f6b0
mov eax, dword [esi + 0x70]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x168
call fcn.0052f6b0
mov eax, dword [esi + 0x78]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x210
call fcn.0052f6b0
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x228
call fcn.0052f6b0
mov eax, dword [esi + 0x74]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x180
call fcn.0052f6b0
mov eax, dword [esi + 0x84]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x198
call fcn.0052f6b0
mov eax, dword [esi + 0x64]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x1c8
call fcn.0052f6b0
mov eax, dword [esi + 0x60]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x1b0
call fcn.0052f6b0
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x1f8
call fcn.0052f6b0
mov eax, dword [esi + 0x68]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x1e0
call fcn.0052f6b0
lea ecx, [esp + 0x10]
push str._H:_M
lea edi, [esi + 8]
push ecx
mov ecx, edi
call fcn.0054ee8e
mov eax, dword [eax]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0xd8
mov byte [esp + 0x114], 0x13
call fcn.0052f6b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x110], 0x12
call fcn.00575ae8
lea edx, [esp + 0x10]
push str._d__b__Y
push edx
mov ecx, edi
call fcn.0054ee8e
mov eax, dword [eax]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0xc0
mov byte [esp + 0x114], 0x14
call fcn.0052f6b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x110], 0x12
call fcn.00575ae8
mov eax, dword [esi + 0x8c]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x2d0
call fcn.0052f6b0
mov eax, dword [esi + 0x88]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x2e8
call fcn.0052f6b0
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x300
call fcn.0052f6b0
mov eax, dword [0x614cb0]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 0x58]
lea eax, [esi + 0x58]
mov byte [esp + 0x110], 0x18
mov edx, dword [ecx - 8]
test edx, edx
jne 0x470a8a
mov eax, ebx
push 0
lea edx, [esp + 0x1c]
push 0
push edx
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x54]
push ecx
push edx
push 0
push 0
lea ecx, [esp + 0x38]
push 0
lea edx, [esp + 0x84]
push ecx
mov eax, dword [eax]
push edx
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x84]
push ecx
push edx
lea ecx, [esp + 0x80]
push 0
lea edx, [esp + 0x80]
push ecx
push edx
push 0
lea ecx, [esp + 0x84]
push 0
push ecx
mov ecx, dword [ebp + 0xa448]
push eax
call fcn.004f6dc0
test eax, eax
jl 0x470cfc
mov edx, dword [esp + 0x44]
mov ecx, dword [ebp + 0x154]
push edx
add ecx, 0x378
call fcn.0052f6b0
mov eax, dword [esp + 0x48]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x3c0
call fcn.0052f6b0
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x3d8
call fcn.0052f6b0
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x154]
push edx
add ecx, 0x3f0
call fcn.0052f6b0
mov eax, dword [0x614cb0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x10]
push ecx
push 0x600838
push edx
mov byte [esp + 0x11c], 0x19
call fcn.0056d732
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x154]
add esp, 0xc
add ecx, 0x390
push eax
call fcn.0052f6b0
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x10]
push ecx
push 0x600838
push edx
call fcn.0056d732
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x154]
add esp, 0xc
add ecx, 0x3a8
push eax
call fcn.0052f6b0
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
push ecx
push edx
lea eax, [esp + 0x18]
push str._3.0lf
push eax
call fcn.0056d732
mov ecx, dword [esp + 0x20]
add esp, 0x10
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x258
call fcn.0052f6b0
fld qword [esp + 0x1c]
call fcn.00556a00
push eax
lea edx, [esp + 0x14]
push 0x600838
push edx
call fcn.0056d732
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x154]
add esp, 0xc
add ecx, 0x270
push eax
call fcn.0052f6b0
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push ecx
push edx
push str._.4f
lea eax, [esp + 0x1c]
push eax
call fcn.0056d732
mov ecx, dword [esp + 0x20]
add esp, 0x10
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x288
call fcn.0052f6b0
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
push edx
push eax
lea ecx, [esp + 0x18]
push str._.4f
push ecx
call fcn.0056d732
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 0x154]
add esp, 0x10
add ecx, 0x2a0
push edx
call fcn.0052f6b0
mov esi, dword [esi + 0x90]
mov eax, dword [esi - 8]
test eax, eax
jne 0x470cd4
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x60]
push ecx
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.005051f0
add esp, 0x14
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x114], 0x1a
call fcn.00575c21
lea ecx, [esp + 0x38]
mov byte [esp + 0x110], 0x19
call fcn.00575ae8
mov edx, dword [esp + 0x10]
push edx
jmp 0x470cd5
push esi
mov ecx, dword [ebp + 0x154]
add ecx, 0x2b8
call fcn.0052f6b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x110], 0x18
call fcn.00575ae8
jmp 0x470dee
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x378
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x3c0
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x3d8
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x3f0
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x390
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x3a8
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x258
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x270
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x288
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x2a0
call fcn.0052f6b0
mov ecx, dword [ebp + 0x154]
push 0x618f40
add ecx, 0x2b8
call fcn.0052f6b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x110], 0x17
call fcn.00575ae8
lea ecx, [esp + 0x30]
mov byte [esp + 0x110], 0x16
call fcn.00575ae8
lea ecx, [esp + 0x48]
mov byte [esp + 0x110], 0x15
call fcn.00575ae8
lea ecx, [esp + 0x44]
mov byte [esp + 0x110], 0x12
call fcn.00575ae8
lea ecx, [esp + 0x40]
mov byte [esp + 0x110], 0x11
call fcn.00575ae8
lea ecx, [esp + 0x2c]
mov byte [esp + 0x110], 0x10
call fcn.00575ae8
lea ecx, [esp + 0x14]
mov dword [esp + 0x110], 0xffffffff
call fcn.00575ae8
push 0x618f40
push 5
call fcn.00556bd7
push 0x618f40
push 4
call fcn.00556bd7
mov ecx, dword [ebp + 0x154]
add esp, 0x10
push 0xff
call fcn.0052f180
mov ecx, ebp
call fcn.004a5ee0
lea ecx, [ebp + 0x9a14]
call fcn.004ab2e0
mov eax, dword [ebp + 0x9340]
lea ecx, [ebp + 0x9340]
push 0
push ebp
call dword [eax + 0xc0]
mov ecx, ebp
call fcn.004a95c0
mov ecx, ebp
call fcn.00476a70
test eax, eax
je 0x470edd
mov eax, dword [ebp + 0x9224]
test eax, eax
jne 0x470edd
mov ecx, ebp
call fcn.00472580
mov eax, dword [ebp + 0xa3d0]
test eax, eax
je 0x470eee
mov ecx, ebp
call fcn.00488ca0
mov eax, dword [ebp + 0x84c0]
test eax, eax
je 0x470eff
mov ecx, ebp
call fcn.00472ef0
mov eax, dword [ebp + 0x9224]
test eax, eax
jne 0x470fa9
mov eax, dword [ebp + 0x84d0]
mov ecx, dword [ebp + 0x84c8]
mov edx, eax
lea ecx, [ecx + ecx*2]
shl edx, 5
lea ecx, [ecx + ecx*4]
sub edx, eax
lea ecx, [ecx + ecx*4]
lea eax, [eax + edx*4]
shl ecx, 2
shl eax, 3
cmp ecx, eax
jge 0x470f5c
mov eax, dword [ebp + 0x84dc]
test eax, eax
je 0x470f56
mov ecx, ebp
call fcn.00476ab0
test eax, eax
je 0x470f56
mov ecx, ebp
call fcn.00476e50
test eax, eax
jne 0x470f5c
inc dword [ebp + 0x84c8]
mov eax, dword [ebp + 0x84cc]
test eax, eax
je 0x470fb3
mov eax, dword [ebp + 0x84d0]
mov ecx, dword [ebp + 0x84c8]
mov edx, eax
lea ecx, [ecx + ecx*2]
shl edx, 5
lea ecx, [ecx + ecx*4]
sub edx, eax
lea ecx, [ecx + ecx*4]
lea eax, [eax + edx*4]
shl ecx, 2
shl eax, 3
cmp ecx, eax
jl 0x470f96
mov ecx, ebp
call fcn.00473f60
mov eax, dword [ebp + 0x84cc]
test eax, eax
je 0x470fb3
mov ecx, ebp
call fcn.00472ef0
jmp 0x470fb3
mov dword [ebp + 0x84c8], 0
mov eax, dword [0x64fea8]
mov ecx, eax
and cl, 4
inc eax
test cl, cl
mov dword [0x64fea8], eax
jne 0x47117d
mov eax, dword [ebp + 0xa450]
test eax, eax
je 0x47117d
mov eax, dword [eax + 8]
lea edi, [eax - 1]
test edi, edi
mov dword [esp + 0x30], edi
jl 0x47117d
lea ecx, [edi + 1]
lea ebx, [edi*8]
sub ebx, edi
lea eax, [ecx*8]
sub eax, ecx
shl ebx, 3
shl eax, 3
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 0xa450]
mov esi, dword [edx + 4]
add esi, ebx
mov eax, dword [esi + 0x30]
test eax, eax
jne 0x47115e
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x47115e
lea eax, [esp + 0x1c]
push eax
call fcn.00504c30
add esp, 4
lea ecx, [esi + 8]
push eax
call fcn.0054eac9
test eax, eax
je 0x47115e
mov al, byte [esp + 0x34]
mov dword [esp + 0x110], 0xffffffff
test al, 1
je 0x471073
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x50]
and al, 0xfe
mov dword [esp + 0x34], eax
call fcn.00575ae8
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
test al, 1
mov dword [esp + 0x38], eax
je 0x471093
mov esi, dword [esi + 0x18]
push 0
push esi
mov ecx, ebp
call fcn.00495fb0
mov eax, dword [esp + 0x38]
test al, 2
je 0x47112e
mov ebx, dword [ebp + 0xa450]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov edi, dword [ebx + 8]
mov eax, dword [ebx + 4]
sub edi, edx
dec edi
add esi, eax
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 4]
mov eax, dword [esp + 0x14]
add esi, 0x38
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x4710bc
test edi, edi
je 0x471101
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea edx, [edi*8]
add ecx, eax
sub edx, edi
shl edx, 3
push edx
mov edx, dword [esp + 0x14]
add edx, eax
push ecx
push edx
call fcn.00557d00
add esp, 0xc
mov edi, dword [ebx + 8]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, 0x38
dec edi
dec esi
sub edx, eax
sub ecx, eax
mov dword [ebx + 8], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
mov edi, esi
mov ebx, edx
mov al, byte [esp + 0x34]
mov dword [0x6b6860], 1
test al, 2
mov dword [esp + 0x110], 0xffffffff
je 0x47115e
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x4c]
and al, 0xfd
mov dword [esp + 0x34], eax
call fcn.00575ae8
mov ecx, dword [esp + 0x18]
dec edi
sub ebx, 0x38
sub ecx, 0x38
test edi, edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ecx
jge 0x47100e
mov eax, dword [0x64fe9c]
test eax, eax
jne 0x47125a
mov eax, dword [ebp + 0x94f8]
mov dword [esp + 0x14], 1
mov eax, dword [eax + 0x1c]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x471231
mov eax, dword [ebp + 0x81f0]
test eax, eax
jle 0x471231
mov eax, dword [ebp + 0x8328]
test eax, eax
je 0x471231
mov ecx, dword [ebp + 0x94f8]
push 0x536
call fcn.00574f0d
mov ebx, eax
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call fcn.00571ffa
test ebx, ebx
mov esi, eax
je 0x471231
test esi, esi
je 0x471231
mov ecx, dword [esi + 0x1c]
mov eax, dword [ebx + 0x1c]
cmp ecx, eax
je 0x471229
mov eax, dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x471200
push ecx
call edi
push eax
call fcn.00571ffa
test eax, eax
je 0x471231
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x471217
mov ecx, dword [esi + 0x1c]
push ecx
call edi
push eax
call fcn.00571ffa
test eax, eax
je 0x471224
mov eax, dword [eax + 0x1c]
cmp eax, dword [ebx + 0x1c]
jne 0x471231
mov dword [esp + 0x14], 0
mov ecx, dword [ebp + 0x8328]
test ecx, ecx
je 0x47125a
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47125a
mov edx, dword [ebp + 0x94f8]
mov eax, dword [edx + 0x88]
test eax, eax
jne 0x47125a
mov eax, dword [ecx]
push 0
call dword [eax + 0x20]
mov eax, dword [0x619004]
xor esi, esi
dec eax
mov dword [0x64fe9c], esi
je 0x471290
dec eax
jne 0x4712ad
mov ecx, dword [ebp + 0x8338]
cmp ecx, esi
je 0x4712ad
fld qword [ebp + 0x8340]
fadd qword [0x5bfaf0]
mov edx, dword [ecx]
sub esp, 8
fstp qword [esp]
call dword [edx + 8]
jmp 0x4712ad
mov ecx, dword [ebp + 0x8338]
cmp ecx, esi
je 0x4712ad
mov edx, dword [ebp + 0x8344]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp + 0x8340]
push edx
call dword [eax + 8]
mov dword [0x619004], esi
mov ecx, dword [ebp + 0x8338]
cmp ecx, esi
je 0x4712d3
mov eax, dword [ecx]
push 3
call dword [eax + 0x18]
test eax, eax
je 0x4712d3
mov ecx, dword [ebp + 0x9d08]
call fcn.0043db90
mov al, byte [0x64feac]
inc al
mov byte [0x64feac], al
jne 0x4712eb
mov ecx, 0x681168
call fcn.004d43c0
mov ecx, ebp
call fcn.00477760
xor ecx, ecx
cmp eax, 2
sete cl
mov edi, ecx
mov ecx, dword [ebp + 0xa454]
test ecx, ecx
je 0x471341
mov edx, dword [ecx]
push 0
push 0
push edi
push 0x68
call dword [edx + 4]
mov ecx, ebp
call fcn.00475200
fcomp qword [0x5c53c8]
fnstsw ax
test ah, 1
je 0x47132d
mov eax, 1
jmp 0x47132f
xor eax, eax
mov ecx, dword [ebp + 0xa454]
push 0
push 0
push eax
mov edx, dword [ecx]
push 0x69
call dword [edx + 4]
lea esi, [ebp + 0xa45c]
mov ebx, 0x27
mov ecx, dword [esi]
test ecx, ecx
je 0x47135e
mov eax, dword [ecx]
push 0
push 0
push edi
push 0x68
call dword [eax + 4]
add esi, 4
dec ebx
jne 0x47134c
mov ecx, dword [ebp + 0xa454]
test ecx, ecx
je 0x471387
mov edx, dword [ecx]
push 0
push 0
push 0
push 0x6c
call dword [edx + 4]
mov ecx, dword [ebp + 0x9df4]
push eax
call fcn.004bd0e0
mov ecx, ebp
call fcn.0047d2f0
mov eax, dword [ebp + 0xa76c]
xor esi, esi
cmp eax, esi
je 0x4713a1
dec eax
mov dword [ebp + 0xa76c], eax
cmp dword [0x610cf8], esi
je 0x4713ef
cmp dword [0x681330], esi
jne 0x4713ef
call fcn.00557842
cdq
mov ecx, 0x3b5
idiv ecx
test edx, edx
jne 0x4713ef
lea edx, [esp + 0x98]
push 0x6b6850
push edx
call fcn.0054e7a1
mov ecx, eax
call fcn.0054ea93
test eax, eax
je 0x4713ef
mov dword [0x681330], 1
mov dword [0x68132c], esi
mov ecx, ebp
call fcn.00571f61
mov ecx, dword [ebp + 0x9d18]
mov edx, dword [ebp + 0x9d14]
lea eax, [ebp + 0x9d10]
cmp ecx, edx
je 0x471414
push eax
mov ecx, ebp
call fcn.00476bc0
mov dword [0x64fea4], esi
mov ecx, dword [esp + 0x108]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x104
ret 4