Function at 0x53eea0
Capabilities:
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x590f5b
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5cca0c]
xor eax, esp
push eax
lea eax, [esp + 0xb4]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x14], ebx
xor ebp, ebp
cmp byte [ebx + 0x474], 0
jne 0x53eef0
mov eax, dword [esp + 0xc4]
push eax
call fcn.0053b9a0
jmp 0x53f7ac
mov dword [ebx + 0x234], 0x68
mov dword [ebx + 0x238], ebp
mov eax, dword [ebx + 0x58]
test eax, eax
lea esi, [ebx + 0x54]
je 0x53ef86
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jae 0x53ef86
push ebp
mov ecx, esi
call fcn.005398b0
cmp byte [eax + 4], 0
jne 0x53ef7f
push ebp
mov ecx, esi
call fcn.005398b0
mov esi, eax
add esi, 0x90
mov ecx, esi
xor edi, edi
call fcn.00536190
test eax, eax
jbe 0x53ef7a
nop
push edi
mov ecx, esi
call fcn.00539830
cmp byte [eax + 4], 0
je 0x53ef6c
push edi
mov ecx, esi
call fcn.00539830
cmp dword [eax + 8], 0
jg 0x53ef7f
mov ecx, esi
add edi, 1
call fcn.00536190
cmp edi, eax
jb 0x53ef50
add ebp, 1
jmp 0x53ef00
add dword [ebx + 0x234], 0x31
mov ecx, dword [ebx + 0x234]
xor ebp, ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], ebp
mov eax, dword [ebx + 0x58]
test eax, eax
lea esi, [ebx + 0x54]
je 0x53f7a5
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jae 0x53f7a5
mov edi, dword [esi + 4]
test edi, edi
mov byte [esp + 0x1b], 0
je 0x53f79b
mov ebx, dword [esi + 8]
mov ecx, ebx
sub ecx, edi
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebp
jbe 0x53f79b
cmp edi, ebx
jbe 0x53effb
call fcn.005532de
imul ebp, ebp, 0xd0
mov dword [esp + 0x24], edi
add edi, ebp
cmp edi, dword [esi + 8]
mov dword [esp + 0x1c], edi
ja 0x53f015
cmp edi, dword [esi + 4]
jae 0x53f01a
call fcn.005532de
cmp edi, dword [esi + 8]
jb 0x53f024
call fcn.005532de
movzx esi, byte [edi + 4]
movzx edx, byte [esp + 0xc4]
mov eax, dword [esp + 0x14]
mov ebx, dword [edi]
mov ebp, dword [eax + 4]
and esi, edx
call fcn.004a1350
xor edx, edx
cmp eax, edx
je 0x53f05d
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f05b
push esi
push ebx
push ebp
call eax
xor edx, edx
lea ecx, [edi + 0x90]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0xbc], edx
mov dword [esp + 0x28], edx
call fcn.00536190
test eax, eax
jbe 0x53f707
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov edi, dword [esi + 0x94]
add esi, 0x90
test edi, edi
je 0x53f7a0
mov ebp, dword [esi + 8]
mov ecx, ebp
sub ecx, edi
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebx
jbe 0x53f7a0
cmp edi, ebp
jbe 0x53f0ce
call fcn.005532de
mov eax, ebx
imul eax, eax, 0x8c
mov dword [esp + 0x24], edi
add edi, eax
cmp edi, dword [esi + 8]
mov dword [esp + 0x2c], eax
ja 0x53f0ea
cmp edi, dword [esi + 4]
jae 0x53f0ef
call fcn.005532de
cmp edi, dword [esi + 8]
jb 0x53f0f9
call fcn.005532de
cmp byte [edi + 4], 0
je 0x53f62d
cmp byte [esp + 0x1b], 0
jne 0x53f2c4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov esi, dword [ebp + 0xa0]
mov edi, dword [ebx + 4]
call fcn.004a1350
test eax, eax
je 0x53f144
push str.uiview_get_window_rect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f144
push esi
push edi
lea ecx, [esp + 0x8c]
push ecx
call eax
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x84]
mov edx, dword [ebx + 0x234]
mov ecx, esi
sub ecx, eax
cmp ecx, 0x20e
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x30], ecx
jg 0x53f6ae
mov edi, dword [ebp + 0xa8]
mov ebp, dword [ebx + 4]
call fcn.004a1350
test eax, eax
je 0x53f19f
push str.uiview_get_window_rect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f19f
push edi
push ebp
lea ecx, [esp + 0x6c]
push ecx
call eax
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xa0]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x78]
sub edi, dword [esp + 0x68]
mov edx, dword [ecx + 4]
lea ebp, [esi + 0x12]
mov esi, dword [esp + 0x6c]
sub esi, dword [esp + 0x64]
add ebx, 0xa
add esi, ebp
add edi, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], edx
call fcn.004a1350
test eax, eax
je 0x53f211
push str.uiview_move_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f211
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x78]
push 1
push 0x16
push ecx
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push ecx
call eax
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xa8]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], edx
call fcn.004a1350
test eax, eax
je 0x53f259
push str.uiview_move_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f259
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
push 1
sub edi, ebx
push edi
sub esi, ebp
push esi
push ebx
push ebp
push ecx
push edx
call eax
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov edi, dword [ebp + 0xa0]
mov ebx, dword [esi + 4]
call fcn.004a1350
test eax, eax
je 0x53f289
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f289
push 1
push edi
push ebx
call eax
mov edi, dword [ebp + 0xa8]
mov ebx, dword [esi + 4]
call fcn.004a1350
test eax, eax
je 0x53f2b1
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f2b1
push 1
push edi
push ebx
call eax
add dword [esi + 0x234], 0x24
add dword [esi + 0x238], 1
mov byte [esp + 0x1b], 1
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
test edi, edi
mov ecx, dword [eax + 0x234]
mov ebx, 0x21
mov dword [esp + 0x20], ecx
je 0x53f38d
mov ebp, dword [esp + 0x3c]
mov ecx, ebp
sub ecx, edi
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x53f38d
lea esi, [eax - 1]
cmp eax, esi
jbe 0x53f7a0
cmp edi, ebp
jbe 0x53f318
call fcn.005532de
imul esi, esi, 0x8c
add esi, edi
cmp esi, dword [esp + 0x3c]
lea eax, [esp + 0x34]
mov ebp, eax
mov dword [esp + 0x4c], edi
ja 0x53f336
cmp esi, dword [esp + 0x38]
jae 0x53f33b
call fcn.005532de
cmp esi, dword [ebp + 8]
jb 0x53f345
call fcn.005532de
mov edx, dword [esp + 0x14]
mov esi, dword [esi]
mov edi, dword [edx + 4]
call fcn.004a1350
test eax, eax
je 0x53f6ae
push str.uiview_get_window_rect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f6ae
push esi
push edi
lea ecx, [esp + 0xac]
push ecx
call eax
test eax, eax
jne 0x53f6ae
mov ebx, dword [esp + 0xac]
add ebx, 6
mov edi, dword [esp + 0x1c]
mov esi, dword [edi + 0x94]
add edi, 0x90
test esi, esi
je 0x53f7a0
mov ebp, dword [edi + 8]
mov ecx, ebp
sub ecx, esi
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x28]
jbe 0x53f7a0
cmp esi, ebp
jbe 0x53f3d2
call fcn.005532de
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x4c], esi
add esi, edx
cmp esi, dword [edi + 8]
ja 0x53f3e6
cmp esi, dword [edi + 4]
jae 0x53f3eb
call fcn.005532de
cmp esi, dword [edi + 8]
jb 0x53f3f5
call fcn.005532de
mov eax, dword [esp + 0x14]
mov esi, dword [esi]
mov ebp, dword [eax + 4]
call fcn.004a1350
test eax, eax
je 0x53f6ae
push str.uiview_get_window_rect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f6ae
push esi
push ebp
lea ecx, [esp + 0x9c]
push ecx
call eax
test eax, eax
jne 0x53f6ae
mov eax, dword [esp + 0x9c]
sub eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x20]
lea esi, [eax + ebx]
cmp esi, 0x22f
lea edx, [ebp + 0x14]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], edx
jle 0x53f482
add ebp, 0x20
lea esi, [eax + 0x21]
lea eax, [ebp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x14]
add dword [eax + 0x234], 0x20
add dword [eax + 0x238], 1
mov dword [esp + 0x54], 0x21
mov ebx, dword [edi + 4]
test ebx, ebx
je 0x53f7a0
mov ecx, dword [edi + 8]
sub ecx, ebx
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x28]
jbe 0x53f7a0
cmp ebx, dword [edi + 8]
jbe 0x53f4b9
call fcn.005532de
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
add ebx, ecx
cmp ebx, dword [edi + 8]
ja 0x53f4cd
cmp ebx, dword [edi + 4]
jae 0x53f4d2
call fcn.005532de
mov eax, edi
cmp ebx, dword [eax + 8]
jb 0x53f4de
call fcn.005532de
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov ebx, dword [ebx]
mov dword [esp + 0x20], eax
call fcn.004a1350
test eax, eax
je 0x53f51e
push str.uiview_move_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f51e
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
push 1
sub ecx, ebp
push ecx
mov ecx, dword [esp + 0x5c]
sub esi, ecx
push esi
push ebp
push ecx
push ebx
push edx
call eax
mov eax, dword [esp + 0x50]
add eax, 0xe6
cmp dword [esp + 0x60], eax
mov dword [esp + 0x30], 1
jle 0x53f53d
mov dword [esp + 0x30], 0
mov esi, dword [edi + 4]
test esi, esi
je 0x53f7a0
mov ebx, dword [edi + 8]
mov ebp, dword [esp + 0x28]
mov ecx, ebx
sub ecx, esi
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebp
jbe 0x53f7a0
cmp esi, ebx
jbe 0x53f577
call fcn.005532de
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], esi
add esi, ecx
cmp esi, dword [edi + 8]
ja 0x53f58b
cmp esi, dword [edi + 4]
jae 0x53f590
call fcn.005532de
cmp esi, dword [edi + 8]
jb 0x53f59a
call fcn.005532de
mov edx, dword [esp + 0x14]
mov esi, dword [esi]
mov ebx, dword [edx + 4]
call fcn.004a1350
test eax, eax
je 0x53f5c5
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f5c5
mov ecx, dword [esp + 0x30]
push ecx
push esi
push ebx
call eax
mov esi, dword [edi + 4]
test esi, esi
je 0x53f7a0
mov ebx, dword [edi + 8]
mov ecx, ebx
sub ecx, esi
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebp
jbe 0x53f7a0
cmp esi, ebx
jbe 0x53f5fb
call fcn.005532de
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x24], esi
add esi, edx
cmp esi, dword [edi + 8]
ja 0x53f60f
cmp esi, dword [edi + 4]
jae 0x53f614
call fcn.005532de
cmp esi, dword [edi + 8]
jb 0x53f61e
call fcn.005532de
push esi
lea ecx, [esp + 0x38]
call fcn.0053d050
jmp 0x53f6ae
mov edi, dword [esi + 4]
test edi, edi
je 0x53f7a0
mov ebp, dword [esi + 8]
mov ecx, ebp
sub ecx, edi
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebx
jbe 0x53f7a0
cmp edi, ebp
jbe 0x53f663
call fcn.005532de
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], edi
add edi, eax
cmp edi, dword [esi + 8]
ja 0x53f677
cmp edi, dword [esi + 4]
jae 0x53f67c
call fcn.005532de
cmp edi, dword [esi + 8]
jb 0x53f686
call fcn.005532de
mov ecx, dword [esp + 0x14]
mov edi, dword [edi]
mov esi, dword [ecx + 4]
call fcn.004a1350
test eax, eax
je 0x53f6ae
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f6ae
push 0
push edi
push esi
call eax
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
add ebx, 1
lea ecx, [esi + 0x90]
mov dword [esp + 0x28], ebx
call fcn.00536190
cmp ebx, eax
jb 0x53f08f
mov esi, dword [esp + 0x38]
test esi, esi
je 0x53f707
mov ecx, dword [esp + 0x3c]
sub ecx, esi
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x53f707
mov eax, dword [esp + 0x14]
add dword [eax + 0x234], 0x29
add dword [eax + 0x238], 1
jmp 0x53f763
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov esi, dword [ebx + 0xa0]
mov edi, dword [ebp + 4]
call fcn.004a1350
test eax, eax
je 0x53f737
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f737
push 0
push esi
push edi
call eax
mov esi, dword [ebx + 0xa8]
mov edi, dword [ebp + 4]
call fcn.004a1350
test eax, eax
je 0x53f75f
push str.uiview_show_window
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x53f75f
push 0
push esi
push edi
call eax
mov esi, dword [esp + 0x38]
xor edi, edi
cmp esi, edi
mov dword [esp + 0xbc], 0xffffffff
je 0x53f77d
push esi
call fcn.0055215c
add esp, 4
add dword [esp + 0x44], 1
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
jmp 0x53ef96
call fcn.005392c0
call fcn.00539240
mov ecx, ebx
call fcn.00536d80
mov ecx, dword [esp + 0xb4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret 8