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

Disassembly:
mov eax, dword [0x452590]
push esi
movsx eax, word [eax + 0x8f0]
lea eax, [eax + eax*4]
lea esi, [eax + eax*4]
add esi, esi
shr esi, 0xa
inc esi
shl esi, 0xa
cmp esi, 0x3000
ja 0x431a19
mov esi, 0x3000
push 1
push 0x127c
call dword [sym.imp.MSVCRT.dll_calloc]
mov ecx, dword [0x452590]
mov dword [ecx + 0x7c], eax
mov edx, dword [0x452590]
mov ecx, dword [0x45258c]
mov eax, dword [edx + 0x7c]
mov dword [0x452594], eax
mov dword [eax + 0x18], ecx
mov edx, dword [0x452594]
mov eax, dword [0x452590]
mov dword [edx + 0x1c], eax
mov ecx, dword [0x45258c]
mov eax, dword [0x452594]
mov edx, dword [ecx + 0xe0]
mov dword [eax + 0x1d4], edx
mov eax, dword [0x452590]
movsx edx, word [eax + 0x8f0]
lea ecx, [eax + 0x8d0]
shl edx, 3
push ecx
push edx
call fcn.0041d130
add esp, 0x10
test eax, eax
jne 0x431a94
or ax, 0xffff
pop esi
ret
mov eax, dword [0x452590]
mov edx, dword [0x452594]
mov ecx, dword [eax + 0x8d0]
mov dword [edx + 0x1278], ecx
mov eax, dword [0x452590]
mov edx, dword [0x452594]
movsx ecx, word [eax + 0x8f2]
mov dword [edx + 0x54], ecx
mov eax, dword [0x452590]
lea ecx, [eax + 0x480]
movsx eax, word [eax + 0x8f2]
push ecx
lea edx, [eax*8]
sub edx, eax
lea ecx, [eax + edx*4]
lea edx, [eax + ecx*2]
add edx, edx
push edx
call fcn.0041d130
add esp, 8
test eax, eax
jne 0x431af7
or ax, 0xffff
pop esi
ret
mov eax, dword [0x452590]
mov edx, dword [0x452594]
mov ecx, dword [eax + 0x480]
mov dword [edx + 0x58], ecx
mov eax, dword [0x452590]
lea ecx, [eax + 0x8d4]
movsx eax, word [eax + 0x8f0]
cdq
and edx, 7
push ecx
add eax, edx
sar eax, 3
and eax, 0xfff8
add eax, 0x10
push eax
call fcn.0041d130
add esp, 8
test eax, eax
jne 0x431b42
or ax, 0xffff
pop esi
ret
mov edx, dword [0x452590]
mov ecx, dword [0x452594]
mov eax, dword [edx + 0x8d4]
mov dword [ecx + 0x1168], eax
mov edx, dword [0x452590]
mov ecx, dword [0x452594]
movsx eax, word [edx + 0x8f0]
mov dword [ecx + 0x40], eax
mov eax, dword [0x452594]
mov edx, esi
shr edx, 0xa
mov dword [eax + 0x94], edx
mov ecx, dword [0x452590]
add ecx, 0x8cc
lea edx, [esi + esi]
push ecx
push edx
call fcn.0041d130
add esp, 8
test eax, eax
jne 0x431ba3
or ax, 0xffff
pop esi
ret
mov eax, dword [0x452590]
mov edx, dword [0x452594]
push edi
mov edi, dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [eax + 0x8cc]
mov dword [edx + 0xa0], ecx
mov eax, dword [0x452594]
mov ecx, dword [eax + 0xa0]
mov dword [eax + 0x98], ecx
mov eax, dword [0x452594]
mov edx, dword [eax + 0xa0]
add edx, esi
mov dword [eax + 0xa4], edx
mov eax, dword [0x452594]
mov ecx, dword [0x45255c]
mov dword [eax + 8], ecx
mov edx, dword [0x452594]
mov eax, dword [0x452564]
mov dword [edx], eax
mov edx, dword [0x452594]
mov ecx, dword [0x452560]
mov dword [edx + 4], ecx
mov eax, dword [0x452594]
mov ecx, dword [0x452560]
mov dword [eax + 4], ecx
mov edx, dword [0x452594]
mov eax, dword [0x452568]
mov dword [edx + 0x10], eax
mov ecx, dword [0x452594]
mov edx, dword [0x45256c]
mov dword [ecx + 0xc], edx
mov eax, dword [0x452594]
mov ecx, dword [0x452568]
mov dword [eax + 0x14], ecx
mov edx, dword [0x452594]
mov eax, dword [edx + 0x14]
push eax
call edi
xor esi, esi
cmp eax, esi
je 0x431c73
mov ecx, dword [0x452594]
mov dword [ecx + 0x14], eax
mov edx, dword [0x452594]
mov eax, dword [edx + 0x14]
push eax
call edi
cmp eax, esi
jne 0x431c5a
mov ecx, dword [0x452594]
mov edx, dword [0x452558]
mov dword [ecx + 0x4c0], edx
mov eax, dword [0x452594]
mov dword [eax + 0x4f4], 0x452558
mov ecx, dword [0x452590]
mov eax, dword [0x452594]
mov dl, byte [ecx + 0x8dc]
mov byte [eax + 0x26], dl
mov ecx, dword [0x452590]
mov eax, dword [0x452594]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0xb0], edx
mov ecx, dword [0x452594]
mov eax, dword [0x452590]
mov edx, dword [ecx + 0xb0]
mov dword [eax + 0x8e8], edx
mov ecx, dword [0x452590]
mov eax, dword [0x452594]
mov edx, dword [ecx + 0x20]
mov dword [eax + 0xb4], edx
mov ecx, dword [0x452594]
mov eax, dword [0x452590]
mov edx, dword [ecx + 0xb4]
mov dword [eax + 0x8ec], edx
mov ecx, dword [0x452590]
mov eax, dword [0x452594]
mov edx, dword [ecx + 0x3c]
or ecx, 0xffffffff
mov dword [eax + 0xa8], edx
mov eax, dword [0x452594]
mov edx, 0x7ffff000
cmp dword [eax + 0xa8], ecx
jne 0x431d32
mov dword [eax + 0xa8], edx
mov eax, dword [0x452594]
mov edi, dword [0x452590]
mov edi, dword [edi + 0x40]
mov dword [eax + 0xac], edi
mov eax, dword [0x452594]
cmp dword [eax + 0xac], ecx
jne 0x431d59
mov dword [eax + 0xac], edx
mov eax, dword [0x452594]
mov dword [eax + 0x3c], esi
mov ecx, dword [0x452594]
mov word [ecx + 0x30], si
mov edx, dword [0x452594]
mov word [edx + 0x32], si
mov eax, dword [0x452594]
and word [eax + 0x28], 0x80
mov eax, dword [0x452594]
or byte [eax + 0x28], 4
mov eax, dword [0x452594]
mov dword [eax + 0x1a8], esi
mov ecx, dword [0x452594]
mov dword [ecx + 0x4c4], esi
mov eax, dword [0x452594]
mov edx, dword [eax + 0x1278]
sub edx, eax
mov dword [eax + 0x4ec], edx
mov ecx, dword [0x452594]
mov eax, 0xffff8000
mov word [ecx + 0x502], ax
mov edx, dword [0x452594]
mov word [edx + 0x4f0], ax
mov ecx, dword [0x452594]
mov eax, 0x64
mov dword [ecx + 0x514], eax
mov edx, dword [0x452594]
mov dword [edx + 0x510], eax
mov eax, dword [0x452594]
mov cx, word [0x452576]
mov word [eax + 0x4d2], cx
mov edx, dword [0x452594]
mov eax, dword [0x452570]
mov dword [edx + 0x4d4], eax
call fcn.0043a330
mov ecx, dword [0x452594]
mov edx, dword [0x4526f0]
mov dword [ecx + 0x51c], edx
mov eax, dword [0x452594]
mov ecx, dword [0x4526f4]
mov dword [eax + 0x520], ecx
mov edx, dword [0x452594]
mov eax, dword [0x4526f8]
mov dword [edx + 0x524], eax
mov ecx, dword [0x452594]
mov dword [ecx + 0x438], esi
mov edx, dword [0x452594]
mov word [edx + 0x436], si
mov eax, dword [0x452594]
mov dword [eax + 0x43c], 0xfffffffd
mov ecx, dword [0x452594]
mov dword [ecx + 0x440], esi
mov edx, dword [0x452594]
mov dword [edx + 0x444], esi
mov eax, dword [0x452590]
mov ax, word [eax + 0x968]
cmp ax, 0xffff
jne 0x431eae
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x452594]
mov word [ecx + 0x18c], ax
jmp 0x431ebb
mov edx, dword [0x452594]
mov word [edx + 0x18c], ax
mov eax, dword [0x452594]
mov edi, dword [sym.imp.USER32.dll_ShowCursor]
push esi
or byte [eax + 0x28], 0x40
call edi
push 1
call edi
mov ecx, dword [0x452594]
mov edi, 0x534
mov word [ecx + 0x4d0], ax
mov edx, dword [0x452594]
cmp dword [edi + edx], esi
jne 0x431f0e
push 0x10
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, esi
je 0x431f03
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x431f05
xor eax, eax
mov ecx, dword [0x452594]
mov dword [edi + ecx], eax
add edi, 4
cmp edi, 0x934
jl 0x431ee3
mov edx, dword [0x452594]
pop edi
mov dword [edx + 0x448], esi
mov eax, dword [0x452594]
mov dword [eax + 0x44c], esi
mov ecx, dword [0x452590]
xor ax, ax
pop esi
mov dword [ecx + 0x78], 1
ret