Function at 0x42bc50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov ecx, dword [ebp + 0x14]
push ebx
push esi
push edi
push 0
call fcn.00547260
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
mov ebx, eax
test ebx, ebx
mov edi, 1
je 0x42c6bd
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c77c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx]
lea edi, [eax + 0x3a8]
call fcn.00549f70
push eax
mov ecx, edi
call fcn.0054ade0
mov ecx, dword [ebx]
mov esi, eax
call fcn.00549f80
cmp eax, 0xa
jne 0x42bd1d
mov ecx, dword [ebx]
call fcn.00549fd0
cmp eax, 1
jne 0x42bd1d
test esi, esi
je 0x42bd1d
mov ecx, dword [esi]
call fcn.0054a920
cmp eax, 1
jne 0x42bd1d
mov eax, dword [0x880e58]
test eax, eax
jne 0x42bd1d
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebx]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call fcn.0042bc50
add esp, 0x18
test eax, eax
jne 0x42c77e
mov ecx, dword [ebp + 0x14]
push eax
push ebx
call fcn.00547400
mov ebx, eax
test ebx, ebx
je 0x42c77c
mov ecx, dword [ebx]
call fcn.00549f80
cmp eax, 0xa
je 0x42bcb1
test ebx, ebx
je 0x42c77c
mov ecx, dword [ebx]
call fcn.00549f70
push eax
mov ecx, edi
call fcn.0054ade0
mov ecx, dword [ebx]
mov esi, eax
call fcn.00549fd0
test eax, eax
je 0x42c643
xor edi, edi
cmp esi, edi
je 0x42bd5a
mov ecx, dword [esi]
call fcn.0054a920
test eax, eax
je 0x42c643
mov dword [0x880e38], 1
mov esi, 0x2710
mov dword [0x880e50], edi
mov ecx, dword [ebx]
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], esi
call fcn.00549f80
cmp eax, 7
jne 0x42be4d
lea ecx, [esp + 0x70]
mov dword [esp + 0x70], 0
push ecx
mov ecx, dword [ebx]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], edi
call fcn.00568690
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
jmp 0x42be68
mov ecx, dword [ebx]
call fcn.00549f80
cmp eax, 0xb
jne 0x42c634
mov ecx, dword [ebx]
call fcn.005655a0
mov dword [esp + 0x18], eax
mov esi, dword [sym.imp.KERNEL32.dll_ResetEvent]
mov dword [esp + 0x1c], edi
mov edi, dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x42be90
mov ecx, dword [ebx]
call fcn.00549f80
cmp eax, 7
jne 0x42c5d8
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c739
mov eax, dword [esp + 0x18]
test eax, eax
je 0x42bed7
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x10]
cmp eax, 3
ja case.default.0x42bee3
jmp dword [eax*4 + 0x42c788]
fld qword [esp + 0x38]
fdiv qword [ebp + 0x18]
fiadd dword [0x880e40]
call fcn.00530020
fild dword [0x880e44]
fld qword [esp + 0x40]
mov dword [esp + 0x10], eax
jmp 0x42bf6a
fld qword [esp + 0x38]
fdiv qword [ebp + 0x18]
fiadd dword [0x880e40]
jmp 0x42bf2c
fild dword [0x880e40]
fld qword [esp + 0x38]
fchs
fdiv qword [ebp + 0x18]
fsubp st(1)
call fcn.00530020
fld qword [esp + 0x40]
fchs
fdiv qword [ebp + 0x18]
mov dword [esp + 0x10], eax
fiadd dword [0x880e44]
jmp 0x42bf6f
fild dword [0x880e40]
fld qword [esp + 0x38]
fchs
fdiv qword [ebp + 0x18]
fsubp st(1)
call fcn.00530020
fild dword [0x880e44]
fld qword [esp + 0x40]
mov dword [esp + 0x10], eax
fdiv qword [ebp + 0x18]
fsubp st(1)
call fcn.00530020
mov dword [esp + 0x14], eax
cmp dword [0x880e38], 1
jne 0x42c2d1
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x42c2d1
mov edx, dword [esp + 0x14]
mov ecx, dword [0x880e0c]
mov eax, dword [0x880e08]
sub edx, ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x10]
fild dword [esp + 0x20]
mov esi, edx
mov dword [esp + 0x28], 0
sub esi, eax
cmp edx, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], 0x40240000
fild dword [esp + 0x20]
fdivp st(1)
fstp qword [esp + 0x30]
fild dword [0x880e08]
fstp qword [esp + 0x20]
jg 0x42bfe6
mov dword [esp + 0x2c], 0xc0240000
mov dword [0x880de8], eax
mov dword [0x880dec], ecx
mov dword [0x880df8], eax
mov dword [0x880dfc], ecx
cmp dword [0x880e28], 1
jne 0x42c03a
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
push 1
push 0
push 0
lea eax, [esp + 0x60]
push 0
push eax
call esi
test eax, eax
jne 0x42c03a
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c03a
push 1
push 0
push 0
lea ecx, [esp + 0x60]
push 0
push ecx
call esi
test eax, eax
je 0x42c01e
mov ecx, dword [0x880e54]
mov eax, 1
cmp ecx, eax
je 0x42c71e
fld qword [esp + 0x28]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
fild dword [0x880e08]
fsubr qword [esp + 0x20]
fmul qword [esp + 0x30]
fiadd dword [0x880e0c]
fild dword [esp + 0x10]
fld qword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x42c093
fld qword [esp + 0x28]
fcomp qword [0x5e89c0]
fnstsw ax
test ah, 0x40
jne 0x42c178
fld qword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 0x41
fstp st(0)
je 0x42c0b7
fld qword [esp + 0x28]
fcomp qword [0x5e8c48]
fnstsw ax
test ah, 0x40
jne 0x42c191
fld qword [esp + 0x20]
call fcn.00530020
mov esi, eax
call fcn.00530020
mov edx, dword [0x880e00]
mov dword [0x880db8], esi
push edx
mov dword [0x880dbc], eax
call edi
mov eax, dword [0x880dc0]
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c103
mov ecx, dword [ebp + 8]
push 0
push 0
push 0x475
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [0x656d0c]
mov eax, dword [0x656d08]
push edx
push eax
call fcn.0042b810
mov ecx, dword [0x880e58]
mov eax, 1
add esp, 8
cmp ecx, eax
je 0x42c77e
mov ecx, dword [0x880dc0]
push 0x3e8
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [0x880dc0]
push edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [0x880e00]
push eax
call edi
mov eax, dword [0x880e58]
mov ecx, dword [0x880db8]
mov edx, dword [0x880dbc]
mov dword [0x880de8], ecx
test eax, eax
mov dword [0x880dec], edx
jne 0x42c1a6
jmp 0x42bffc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
fstp st(0)
fstp st(0)
mov dword [0x880db8], eax
mov dword [0x880dbc], ecx
jmp 0x42c1a6
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
fstp st(0)
mov dword [0x880db8], edx
mov dword [0x880dbc], eax
mov ecx, dword [0x880e58]
mov eax, 1
cmp ecx, eax
je 0x42c77e
mov ecx, dword [0x880e00]
push ecx
call edi
mov edx, dword [0x880dc0]
mov esi, dword [sym.imp.KERNEL32.dll_ResetEvent]
push edx
call esi
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c1ed
mov eax, dword [ebp + 8]
push 0
push 0
push 0x475
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x656d0c]
mov edx, dword [0x656d08]
push ecx
push edx
call fcn.0042b810
mov eax, dword [0x880e58]
add esp, 8
cmp eax, 1
je 0x42c739
mov eax, dword [0x880dc0]
push 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x880dc0]
push ecx
call esi
mov edx, dword [0x880e00]
push edx
call edi
fld qword [0x880dd0]
fsub qword [esp + 0x40]
fld qword [0x880dc8]
fsub qword [esp + 0x38]
mov eax, dword [0x880e40]
mov ecx, dword [0x880e44]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
mov edx, dword [esp + 0x40]
mov dword [0x880de8], eax
mov dword [0x880df8], eax
mov eax, dword [esp + 0x38]
faddp st(1)
mov dword [0x880dec], ecx
mov dword [0x880dfc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [0x880dc8], eax
fsqrt
mov eax, dword [esp + 0x44]
mov dword [0x880dcc], ecx
mov ecx, dword [esp + 0x48]
mov dword [0x880dd0], edx
mov edx, dword [esp + 0x4c]
mov dword [0x880dd4], eax
mov eax, dword [esp + 0x50]
mov dword [0x880dd8], ecx
mov dword [0x880ddc], edx
mov dword [0x880de0], eax
fstp st(2)
fstp st(0)
fld qword [0x880e30]
fadd st(1)
fstp qword [0x880e30]
fstp st(0)
jmp 0x42c44b
fld qword [0x880dd0]
fsub qword [esp + 0x40]
fld qword [0x880dc8]
fsub qword [esp + 0x38]
mov eax, dword [esp + 0x50]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
cmp eax, 0x3e8
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
jb 0x42c310
fld qword [0x880e48]
fadd st(1)
fstp qword [0x880e48]
jmp 0x42c31e
fld qword [0x880e30]
fadd st(1)
fstp qword [0x880e30]
fld qword [0x880e10]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [0x880dc8], ecx
mov ecx, dword [esp + 0x44]
mov dword [0x880dcc], edx
mov edx, dword [esp + 0x48]
mov dword [0x880dd0], eax
mov eax, dword [esp + 0x4c]
mov dword [0x880dd4], ecx
mov ecx, dword [esp + 0x50]
mov dword [0x880dd8], edx
fadd st(1)
mov dword [0x880ddc], eax
mov dword [0x880de0], ecx
fstp qword [0x880e10]
mov ecx, dword [ebx]
fstp st(0)
call fcn.00549f80
cmp eax, 7
je 0x42c52b
fld qword [ebp + 0x18]
fmul qword [0x5e8c40]
fcomp qword [0x880e10]
fnstsw ax
test ah, 1
je 0x42c438
mov ecx, dword [0x880e00]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push ecx
mov dword [0x880e10], 0
mov dword [0x880e14], 0
mov dword [0x880db8], edx
mov dword [0x880dbc], eax
call edi
mov edx, dword [0x880dc0]
push edx
call esi
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c3f1
mov eax, dword [ebp + 8]
push 0
push 0
push 0x475
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x656d04]
mov edx, dword [0x656d00]
push ecx
push edx
call fcn.0042b810
mov eax, dword [0x880e58]
add esp, 8
cmp eax, 1
je 0x42c739
mov eax, dword [0x880dc0]
push 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x880dc0]
push ecx
call esi
mov edx, dword [0x880e00]
push edx
call edi
mov eax, dword [ebp + 8]
push 0
push 0
push 0x474
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebx]
inc edx
mov dword [esp + 0x1c], edx
call fcn.00549f80
cmp eax, 0xb
jne 0x42c486
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [ebx]
call fcn.00565610
test eax, eax
je 0x42c486
mov edx, dword [eax]
mov eax, dword [edx + 0x18]
mov dword [0x880e38], 1
cmp eax, 0x3e8
jb 0x42c490
mov dword [0x880e38], 0
mov eax, dword [0x880db8]
mov ecx, dword [0x880dbc]
mov dword [0x880e08], eax
mov eax, dword [0x880e58]
test eax, eax
mov dword [0x880e0c], ecx
jne 0x42c739
cmp dword [0x880e28], 1
jne 0x42c4f3
push 1
push 0
push 0
lea edx, [esp + 0x60]
push 0
push edx
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x42c4f3
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c4f3
push 1
push 0
push 0
lea eax, [esp + 0x60]
push 0
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x42c4d3
mov ecx, dword [0x880e54]
mov eax, 1
cmp ecx, eax
je 0x42c745
mov ecx, dword [ebx]
call fcn.00549f80
cmp eax, 0xb
jne 0x42be78
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [ebx]
call fcn.00565610
mov dword [esp + 0x18], eax
jmp 0x42be78
mov edx, dword [0x880e00]
mov eax, 2
mov ecx, eax
push edx
mov dword [0x880e50], 1
mov dword [0x880db8], eax
mov dword [0x880dbc], ecx
call edi
mov eax, dword [0x880dc0]
push eax
call esi
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c574
mov ecx, dword [ebp + 8]
push 0
push 0
push 0x475
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [0x656d04]
mov eax, dword [0x656d00]
push edx
push eax
call fcn.0042b810
mov eax, dword [0x880e58]
add esp, 8
cmp eax, 1
je 0x42c739
mov ecx, dword [0x880dc0]
push 0x3e8
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [0x880dc0]
push edx
call esi
mov eax, dword [0x880e00]
push eax
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [0x880db8], eax
mov dword [0x880dbc], ecx
mov dword [0x880e08], eax
mov dword [0x880e0c], ecx
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c739
mov eax, dword [0x880e28]
mov edi, 1
cmp eax, edi
jne 0x42c626
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
push edi
push 0
push 0
lea ecx, [esp + 0x60]
push 0
push ecx
call esi
test eax, eax
jne 0x42c626
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c626
push edi
push 0
push 0
lea edx, [esp + 0x60]
push 0
push edx
call esi
test eax, eax
je 0x42c60b
cmp dword [0x880e54], edi
je 0x42c760
jmp 0x42c69d
push edi
push edi
push str.not_line
call fcn.005bc06a
push edi
jmp 0x42c69f
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c739
mov eax, dword [0x880e28]
mov edi, 1
cmp eax, edi
jne 0x42c691
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
push edi
push 0
push 0
lea eax, [esp + 0x60]
push 0
push eax
call esi
test eax, eax
jne 0x42c691
mov eax, dword [0x880e58]
test eax, eax
jne 0x42c691
push edi
push 0
push 0
lea ecx, [esp + 0x60]
push 0
push ecx
call esi
test eax, eax
je 0x42c676
cmp dword [0x880e54], edi
je 0x42c760
push 0
mov ecx, dword [ebp + 0x14]
push ebx
call fcn.00547400
mov ebx, eax
test ebx, ebx
jne 0x42bc7e
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
mov edi, 1
mov eax, dword [0x880e58]
xor ebx, ebx
cmp eax, ebx
jne 0x42c77c
cmp dword [0x880e28], edi
jne 0x42c6fa
push edi
push ebx
push ebx
lea edx, [esp + 0x60]
push ebx
push edx
call esi
test eax, eax
jne 0x42c6fa
cmp dword [0x880e58], ebx
jne 0x42c6fa
push edi
push ebx
push ebx
lea eax, [esp + 0x60]
push ebx
push eax
call esi
test eax, eax
je 0x42c6e3
cmp dword [0x880e54], edi
jne 0x42c77c
mov dword [0x880e3c], edi
mov dword [0x880e54], ebx
mov dword [0x880e28], ebx
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x880e3c], eax
xor eax, eax
mov dword [0x880e54], eax
mov dword [0x880e28], eax
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x880e3c], eax
xor eax, eax
mov dword [0x880e54], eax
mov dword [0x880e28], eax
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [0x880e3c], edi
mov dword [0x880e54], eax
mov dword [0x880e28], eax
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret