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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x28], eax
cmp ebx, 0x112
jg 0x42a238
cmp ebx, 0xff
jg 0x42a220
lea eax, [ebx - 3]
cmp eax, 0x21
ja case.0x42a22b.259
jmp dword [eax*4 + 0x4480e8]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov ebp, eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
mov edi, eax
movzx eax, byte [eax]
test ebp, ebp
je 0x42aa50
test al, al
jne 0x42aa50
mov eax, ebp
call sym._nimIncRefCyclic.constprop.0
movzx eax, byte [edi]
test al, al
jne 0x42aa50
mov edx, dword [ebp + 0x6c]
lea ecx, [esp + 0x40]
call sym._pGetWindowRect__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Zni
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
movzx eax, byte [edi]
test al, al
jne 0x42ab19
mov eax, edx
sub eax, ecx
xor edx, eax
xor ecx, eax
not edx
or ecx, edx
jns 0x42aae8
mov edx, eax
mov ecx, ebp
call sym._widtheq___OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_u8
movzx eax, byte [edi]
test al, al
jne 0x42ab19
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, eax
sub edx, ecx
xor eax, edx
xor ecx, edx
not eax
or ecx, eax
jns 0x42aae8
mov ecx, ebp
call fcn.00431680
movzx eax, byte [edi]
test al, al
jne 0x42ab19
mov edx, dword [ebp + 0x6c]
lea ecx, [esp + 0x40]
call sym._pGetClientRect__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Zni
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
movzx eax, byte [edi]
test al, al
jne 0x42ab19
mov eax, edx
sub eax, ecx
xor edx, eax
xor ecx, eax
not edx
or ecx, edx
jns 0x42aae8
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [ebp + 0x28], eax
mov eax, edx
sub eax, ecx
xor edx, eax
xor ecx, eax
not edx
or ecx, edx
jns 0x42aae8
mov dword [ebp + 0x2c], eax
call sym._new__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_u10573_
mov dword [esp + 0x30], eax
mov eax, ebp
call sym._nimIncRefCyclic.constprop.0
movzx eax, byte [edi]
test al, al
jne 0x42a1b8
mov ecx, dword [esp + 0x30]
mov edx, ebp
call sym._eqsink___OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_u24
movzx eax, byte [edi]
test al, al
jne 0x42a1b8
mov edx, dword [esp + 0x30]
mov ecx, ebp
call sym._handleResizeEvent__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352
movzx eax, byte [edi]
test al, al
jne 0x42a1b8
mov ecx, ebp
call fcn.0041fc40
movzx eax, byte [edi]
lea esi, [esi]
mov byte [edi], 0
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x2c], al
call fcn.00429020
movzx edx, byte [edi]
movzx eax, byte [esp + 0x2c]
test dl, dl
cmovne eax, edx
mov byte [esp + 0x2c], al
mov ecx, ebp
mov byte [edi], 0
call fcn.00416ba0
cmp byte [edi], 0
jne 0x42a310
movzx eax, byte [esp + 0x2c]
mov byte [edi], al
test al, al
jne 0x42a310
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._pCommonWndProc__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Zni
lea eax, [ebx - 0x100]
cmp eax, 0x12
ja case.0x42a22b.259
jmp dword [eax*4 + 0x448170]
cmp ebx, 0x233
je 0x42a728
cmp ebx, 0x400
jne case.0x42a22b.259
mov ecx, dword [esi + 4]
mov eax, dword [esi]
test ecx, ecx
je 0x42aa48
call eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
cmp byte [eax], 0
jne 0x42a310
mov dword [esp], esi
call sym._deallocShared
mov eax, dword [0x45e260]
lea edx, [eax - 1]
xor eax, edx
not eax
or eax, edx
js 0x42aa20
call sym._raiseOverflow
xor eax, eax
jmp 0x42a701
mov edx, dword [esp + 0x28]
mov ecx, esi
call sym._pWMParamsToKey__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Zni
mov dword [esp], 0x446178
mov edi, eax
call sym.___emutls_get_address
cmp byte [eax], 0
mov ebp, eax
jne 0x42a310
mov eax, dword [0x45e3a8]
mov ecx, dword [0x45e3ac]
test eax, eax
jle case.0x42a22b.259
xor edx, edx
jmp 0x42a2eb
add edx, 1
cmp edx, eax
je case.0x42a22b.259
cmp di, word [ecx + edx*2 + 4]
jne 0x42a2e0
mov ecx, 0x45e3a8
call sym._delete__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_u309
cmp byte [ebp], 0
je case.0x42a22b.259
lea esi, [esi]
lea esi, [esi]
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov ebp, eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
movzx edx, byte [eax]
mov edi, eax
test dl, dl
jne 0x42ab00
test ebp, ebp
je 0x42a710
mov eax, ebp
call sym._nimIncRefCyclic.constprop.0
movzx edx, byte [edi]
test dl, dl
jne 0x42ab00
mov eax, dword [esp + 0x28]
mov dword [esp], esi
xor edx, edx
mov ecx, ebp
mov dword [esp + 4], eax
call sym._pHandleWMKEYDOWN__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Z
movzx edx, byte [edi]
sub esp, 8
cmp dl, 1
jne 0x42a428
mov byte [esp + 0x2c], dl
mov ecx, ebp
mov byte [edi], 0
call fcn.00416ba0
cmp byte [edi], 0
jne 0x42a310
movzx edx, byte [esp + 0x2c]
mov byte [edi], dl
test dl, dl
je case.0x42a22b.259
jmp 0x42a310
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov ebp, eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
movzx edx, byte [eax]
mov edi, eax
test dl, dl
jne 0x42ab00
test ebp, ebp
je 0x42a710
mov eax, ebp
call sym._nimIncRefCyclic.constprop.0
movzx edx, byte [edi]
test dl, dl
jne 0x42ab00
mov dword [esp], esi
xor edx, edx
mov ecx, ebp
call sym._pHandleWMKEYDOWNOrWMCHAR__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f565
movzx edx, byte [edi]
sub esp, 4
cmp dl, 1
je 0x42a390
test al, al
je 0x42a390
mov ecx, ebp
call fcn.00416ba0
xor eax, eax
jmp 0x42a312
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov ebp, eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
cmp byte [eax], 0
mov edi, eax
jne 0x42a310
test ebp, ebp
je 0x42a4a0
mov eax, ebp
call sym._nimIncRefCyclic.constprop.0
cmp byte [edi], 0
jne 0x42a310
cmp esi, 0xf020
je 0x42ab10
cmp esi, 0xf120
jne 0x42a4a0
mov byte [ebp + 0x11], 0
lea esi, [esi]
mov ecx, ebp
call fcn.00416ba0
cmp byte [edi], 0
je case.0x42a22b.259
jmp 0x42a310
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov ebp, eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
mov edi, eax
movzx eax, byte [eax]
test al, al
jne 0x42aa50
test ebp, ebp
je 0x42a710
mov eax, ebp
call sym._nimIncRefCyclic.constprop.0
movzx eax, byte [edi]
test al, al
jne 0x42aa50
mov edx, dword [ebp + 0x6c]
lea ecx, [esp + 0x40]
call sym._pGetWindowRect__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Zni
movzx eax, byte [edi]
test al, al
jne 0x42a1d5
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x30], edx
movzx eax, byte [edi]
jmp 0x42a1d5
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov edi, eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
cmp byte [eax], 0
mov ebp, eax
jne 0x42a310
test edi, edi
je 0x42a57e
mov eax, edi
call sym._nimIncRefCyclic.constprop.0
cmp byte [ebp], 0
jne 0x42a310
mov ecx, dword [edi + 0x74]
test ecx, ecx
je 0x42a594
call sym._focus__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_u1088
cmp byte [ebp], 0
jne 0x42a310
mov ecx, edi
call fcn.00416ba0
cmp byte [ebp], 0
je case.0x42a22b.259
jmp 0x42a310
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov ebp, eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
cmp byte [eax], 0
mov edi, eax
jne 0x42a310
test ebp, ebp
je 0x42a4a0
mov eax, ebp
call sym._nimIncRefCyclic.constprop.0
cmp byte [edi], 0
jne 0x42a310
mov ecx, ebp
call sym._minWidth__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_u8
cmp byte [edi], 0
jne 0x42a310
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x18], eax
mov ecx, ebp
call fcn.00431770
cmp byte [edi], 0
jne 0x42a310
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x1c], eax
jmp 0x42a4a0
mov dword [esp], 2
xor ecx, ecx
mov edx, 2
call sym._newSeqPayload_12
mov ecx, dword [0x45e3ac]
sub esp, 4
cmp eax, ecx
je 0x42a670
test ecx, ecx
je 0x42a670
test dword [ecx], 0x40000000
jne 0x42a670
mov edx, 2
mov dword [esp + 0x2c], eax
call sym._alignedDealloc_8
mov eax, dword [esp + 0x2c]
nop
mov dword [esp], 0x446178
mov dword [0x45e3a8], 0
mov dword [0x45e3ac], eax
call sym.___emutls_get_address
cmp byte [eax], 0
je case.0x42a22b.259
jmp 0x42a310
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov ebx, eax
mov dword [esp], 0x446178
call sym.___emutls_get_address
cmp byte [eax], 0
mov esi, eax
jne 0x42aa60
test ebx, ebx
je 0x42a6e5
mov eax, ebx
call sym._nimIncRefCyclic.constprop.0
cmp byte [esi], 0
jne 0x42aa60
mov ecx, ebx
call sym._closeClick__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_
cmp byte [esi], 0
jne 0x42aa62
mov ecx, ebx
call fcn.00416ba0
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
xor ecx, ecx
call fcn.00416ba0
cmp byte [edi], 0
je case.0x42a22b.259
jmp 0x42a310
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 4], 0xffffffeb
mov dword [esp], eax
call dword [0x45e0c8]
sub esp, 8
mov dword [esp], 0x446178
mov dword [esp + 0x38], eax
call sym.___emutls_get_address
movzx ebp, byte [eax]
mov dword [esp + 0x2c], eax
mov ecx, ebp
test cl, cl
jne 0x42a78b
mov edx, dword [esp + 0x38]
test edx, edx
je 0x42a7f0
mov eax, dword [esp + 0x38]
call sym._nimIncRefCyclic.constprop.0
mov eax, dword [esp + 0x2c]
movzx ebp, byte [eax]
mov eax, ebp
test al, al
je 0x42a7f0
mov dword [esp + 0x38], 0
xor edi, edi
lea esi, [esi]
mov eax, dword [esp + 0x2c]
mov ecx, edi
mov byte [eax], 0
call fcn.004292c0
mov edi, dword [esp + 0x2c]
cmp byte [edi], 0
jne 0x42a310
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._eqdestroy___system_u3746_8
sub esp, 8
mov ecx, dword [esp + 0x38]
call fcn.00416ba0
cmp byte [edi], 0
jne 0x42a310
mov eax, ebp
mov byte [edi], al
test al, al
je case.0x42a22b.259
jmp 0x42a310
mov dword [esp], 4
xor ecx, ecx
mov edx, 8
mov dword [esp + 0x40], 0
call sym._newSeqPayload_12
sub esp, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [0x45e0bc]
lea ecx, [eax - 1]
sub esp, 0x10
xor eax, ecx
mov dword [esp + 0x30], ecx
not eax
or eax, ecx
jns 0x42aa30
mov eax, dword [esp + 0x30]
xor ebp, ebp
test eax, eax
js 0x42a988
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], esi
call dword [0x45e0bc]
sub esp, 0x10
lea ecx, [eax + eax]
mov ebx, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
mov dword [esp + 0x34], ecx
fadd st(0)
fild dword [esp + 0x34]
fxch st(1)
fucomi st(1)
jp 0x42a89a
je 0x42a8c0
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x448a08]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x42aa10
jmp 0x42a8c4
fstp st(0)
fstp st(0)
test ecx, ecx
js 0x42aab0
call sym._mnewString_4
mov ecx, eax
lea eax, [ebx + 1]
mov edi, edx
xor ebx, eax
test eax, ebx
js 0x42a958
test ecx, ecx
mov dword [esp + 0x34], ecx
lea edx, [edx + 4]
mov ecx, 0x447fbf
cmove edx, ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp], esi
call dword [0x45e0bc]
sub esp, 0x10
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], ecx
call sym._pUtf16ToUtf8__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigu
sub esp, 0xc
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 0
jne 0x42aa7f
mov dword [esp], eax
lea ecx, [esp + 0x40]
mov dword [esp + 4], edx
call sym._add__stdZenumutils_u69_12
lea eax, [ebp + 1]
mov edx, ebp
xor edx, eax
sub esp, 8
test eax, edx
js 0x42a958
mov ebp, eax
jmp 0x42a95d
call sym._raiseOverflow
test edi, edi
je 0x42a96d
test dword [edi], 0x40000000
je 0x42aaa0
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0
jne 0x42aa90
cmp dword [esp + 0x30], ebp
jge 0x42a85b
mov ebx, dword [esp + 0x3c]
mov dword [esp], esi
call dword [0x45e0b8]
sub esp, 4
call sym._new__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_u10667_
mov edi, eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x42a9a8
call sym._nimIncRefCyclic.constprop.0
mov eax, dword [esp + 0x2c]
movzx ebp, byte [eax]
mov eax, ebp
test al, al
jne 0x42a798
mov edx, dword [esp + 0x38]
mov ecx, edi
call sym._eqsink___OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5352Znigui_u24
mov eax, dword [esp + 0x2c]
movzx ebp, byte [eax]
mov eax, ebp
test al, al
jne 0x42a798
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
lea ecx, [edi + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._eqsink___system_u3755_12
sub esp, 8
lea ecx, [esp + 0x40]
call sym._eqwasMoved___system_u3743_4
mov ecx, dword [esp + 0x38]
mov edx, edi
call sym._handleDropFilesEvent__OOZOOZOnimbleZpkgs50Znigui4548O50O56455450a545256515052e51a495253b5152aa51515652e57525652cd4855f5656ce5
mov eax, dword [esp + 0x2c]
movzx ebp, byte [eax]
jmp 0x42a798
call sym._raiseOverflow
jmp 0x42a96d
mov dword [0x45e260], edx
jmp case.0x42a22b.259
call sym._raiseOverflow
mov eax, dword [esp + 0x2c]
xor edi, edi
movzx ebp, byte [eax]
jmp 0x42a798
call eax
jmp 0x42a25b
xor ebp, ebp
jmp 0x42a1d5
xor ebx, ebx
mov byte [esi], 0
mov ecx, ebx
call fcn.00416ba0
cmp byte [esi], 0
jne 0x42a310
mov byte [esi], 1
xor eax, eax
jmp 0x42a312
test edi, edi
je 0x42aa90
test dword [edi], 0x40000000
je 0x42aaa0
lea esi, [esi]
nop
mov ebx, dword [esp + 0x3c]
mov ebp, 1
xor edi, edi
jmp 0x42a798
mov dword [esp], edi
call sym._deallocShared
jmp 0x42a96d
mov dword [esp], ecx
sar ecx, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], ecx
call sym._raiseRangeErrorI
jmp 0x42a96d
call sym._raiseOverflow
mov dword [esp + 0x30], 0
movzx eax, byte [edi]
jmp 0x42a1b8
xor ebp, ebp
jmp 0x42a390
mov byte [ebp + 0x11], 1
jmp 0x42a4a0
mov dword [esp + 0x30], 0
jmp 0x42a1b8