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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x59cf98
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
test esi, esi
je 0x59cf7d
cmp dword [ebx], 0xa100
jne 0x59cf7d
movzx eax, word [ebx + 6]
cmp eax, 0x56
ja case.0x59c026.0
mov al, byte [eax + 0x59c02d]
jmp dword [eax*4 + 0x59c084]
cmp byte [esi + 0x38], 0
jne 0x59cf7d
mov byte [esi + 0x38], 1
mov byte [esi + 0xad], 1
cmp byte [esi + 8], 1
jne 0x59c13d
mov byte [esi + 0x3a], 1
jmp 0x59c143
mov al, byte [ebx + 0xa]
mov byte [esi + 0x3a], al
xor edx, edx
mov dl, byte [esi + 0x3a]
mov ax, word [ebx + 8]
call fcn.004092f8
mov dword [ebx + 0xc], eax
cmp word [ebx + 8], 1
jne 0x59c1a0
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c1a0
mov eax, esi
call fcn.0059a97c
xor ecx, ecx
mov cl, byte [esi + 0x3a]
xor edx, edx
call fcn.0057a2b4
mov edx, eax
mov ax, 1
call fcn.004092e8
mov edx, eax
mov ecx, 0x59bfb0
mov eax, dword [esi + 0xb4]
call fcn.00572418
mov byte [esi + 0x38], 0
jmp 0x59cf7d
mov eax, esi
call fcn.0059a97c
test al, al
je 0x59cf7d
push 0x585
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0045e714
push eax
call sub.user32.dll_RedrawWindow
mov dword [ebx + 0xc], 1
jmp 0x59cf7d
mov eax, esi
call fcn.0059ad2c
cmp eax, dword [ebx + 8]
jne 0x59cf7d
mov byte [esi + 0xad], 1
mov edi, dword [esi + 0x70]
mov eax, edi
mov edx, dword [0x5a2d94]
call fcn.00404ba0
test al, al
je 0x59c211
mov edi, dword [edi + 0x2cc]
jmp 0x59c221
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x59c21f
mov edi, eax
jmp 0x59c221
xor edi, edi
test edi, edi
je 0x59cf7d
mov eax, esi
call fcn.0059ad2c
mov edx, edi
call fcn.0058e7a8
mov eax, edi
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59cf7d
mov edx, ebx
mov eax, edi
call fcn.00576fa0
jmp 0x59cf7d
mov eax, dword [ebx + 8]
mov dword [esi + 0x50], eax
mov eax, esi
call fcn.0059ad2c
test eax, eax
je 0x59c28f
mov eax, esi
call fcn.0059ad2c
call fcn.0058b5e8
test al, al
je 0x59c28f
mov eax, esi
call fcn.0059ad2c
mov edx, dword [esi + 0x50]
call fcn.0058fb20
mov dword [esi + 4], eax
jmp 0x59c294
xor eax, eax
mov dword [esi + 4], eax
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c2b4
mov edx, ebx
mov eax, edi
call fcn.00576fa0
mov byte [ebp - 1], 0
jmp 0x59cf7d
mov eax, dword [esi + 0x50]
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59cf7d
mov eax, edi
call fcn.0045eab4
test al, al
je 0x59c30a
push 0x737
push 0
push 0
push 0
push 0
push 0
mov eax, edi
call fcn.0045e714
push eax
call sub.user32.dll_SetWindowPos
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.00576fa0
jmp 0x59cf7d
cmp byte [esi + 0xac], 0
je 0x59c36a
mov eax, dword [0x63cf48]
cmp dword [eax], 0
je 0x59c36a
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c36a
mov eax, dword [esi + 0xb4]
call fcn.0045e714
mov edx, dword [0x63cf48]
mov edx, dword [edx]
cmp eax, dword [edx + 0x78]
jne 0x59c36a
mov eax, dword [0x63cf48]
mov eax, dword [eax]
xor edx, edx
call fcn.0058c628
cmp dword [esi + 0x3c], 0
jl 0x59c37a
lea eax, [esi + 0x3c]
xor edx, edx
call fcn.0051b068
cmp dword [esi + 0x40], 0
jl 0x59c388
lea eax, [esi + 0x40]
call fcn.0051b22c
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c3ad
mov edx, ebx
mov eax, edi
call fcn.00576fa0
jmp 0x59cf7d
mov edi, dword [esi + 0x70]
mov eax, edi
mov edx, dword [0x511600]
call fcn.00404ba0
test al, al
je 0x59cf7d
mov eax, edi
call fcn.00511a74
mov edx, ebx
call fcn.00576fa0
jmp 0x59cf7d
cmp word [ebx + 4], 0
jne 0x59c3f3
and dword [esi + 0xa8], 0xfffffdff
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x59cf7d
or dword [esi + 0xa8], 0x200
mov eax, dword [ebx + 8]
mov dword [esi + 0x58], eax
jmp 0x59cf7d
cmp dword [ebx + 8], 0
je 0x59cf7d
lea edx, [ebp - 0x24]
mov eax, dword [esi + 0x18]
call fcn.0040bc64
mov eax, dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
mov edx, dword [ebx + 8]
mov dl, byte [edx]
call fcn.00405b4c
mov edx, dword [ebp - 0x28]
pop eax
call fcn.00405d8c
jne 0x59cf7d
mov byte [0x62f1c4], 0
xor edx, edx
mov eax, esi
call fcn.0059ade0
jmp 0x59cf7d
mov eax, esi
mov edx, dword [0x597768]
call fcn.00404ba0
test al, al
je 0x59cf7d
cmp word [esi + 0xc2], 0
je 0x59cf7d
mov byte [ebp - 3], 0
mov ax, word [ebx + 4]
mov byte [ebp - 4], al
lea ecx, [ebp - 4]
mov edx, dword [esi + 0xb4]
mov eax, dword [esi + 0xc4]
call dword [esi + 0xc0]
jmp 0x59cf7d
xor edx, edx
mov eax, esi
call fcn.005981d4
test al, al
je 0x59c4b3
mov dword [ebx + 0xc], 1
jmp 0x59cf7d
cmp byte [esi + 0x11], 0
jne 0x59c56c
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c562
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x59c4f1
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x59c4f1
cmp byte [esi + 0xad], 0
je 0x59c52b
mov eax, dword [esi + 0xb4]
call fcn.0045e714
xor ecx, ecx
mov edx, 0x17
call fcn.00576d10
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x59c51e
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x59c51e
xor eax, eax
jmp 0x59c520
mov al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, dword [esi + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [esi + 0xb4]
cmp eax, dword [edx + 0x48]
jne 0x59c555
mov eax, dword [esi + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [esi + 0xb4]
cmp eax, dword [edx + 0x4c]
jne 0x59c555
xor eax, eax
jmp 0x59c557
mov al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
cmp word [ebx + 4], 1
sete al
mov byte [esi + 0x35], al
jmp 0x59cf7d
mov cx, word [ebx + 4]
mov edx, dword [ebx + 8]
mov eax, esi
call fcn.0059b104
jmp 0x59cf7d
mov edi, dword [esi + 0xb4]
test edi, edi
je 0x59c5be
lea edx, [ebp - 0x38]
mov eax, edi
call fcn.004560e0
mov eax, dword [ebx + 8]
lea esi, [ebp - 0x38]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x59cf7d
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0057a514
mov eax, dword [ebx + 8]
lea esi, [ebp - 0x38]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x59cf7d
xor eax, eax
mov al, byte [esi + 0x36]
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
xor edx, edx
mov eax, esi
call fcn.0059bba8
test al, al
je 0x59cf7d
mov eax, esi
call fcn.0059a9f4
mov eax, dword [eax + 0x52c]
imul edx, dword [esi + 0xb0], 0x26
lea eax, [eax + edx*8]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 8]
mov edx, dword [eax]
mov eax, esi
call fcn.0059bc58
test al, al
je 0x59c65e
mov edi, dword [esi + 0xb4]
test edi, edi
je 0x59c645
mov edx, dword [ebx + 8]
mov eax, dword [edi + 0x30]
call fcn.00599278
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, dword [esi + 0x60]
push eax
call sub.user32.dll_GetParent
mov edx, dword [ebx + 8]
call fcn.005992ec
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0xb0]
mov dword [eax + 4], edx
mov dword [ebx + 0xc], 1
jmp 0x59cf7d
cmp dword [esi + 0x5c], 0
je 0x59cf7d
mov ebx, dword [esi + 0xb4]
mov eax, ebx
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c704
mov eax, ebx
mov edx, dword [0x452068]
call fcn.00404bc4
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.0045a76c
mov edi, eax
dec edi
test edi, edi
jl 0x59c704
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.0045a730
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c700
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.0045a730
call fcn.0045eab4
test al, al
je 0x59c700
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.0045a730
call fcn.0045e714
xor ecx, ecx
mov edx, 0x21
call fcn.00576d10
inc ebx
dec edi
jne 0x59c6b9
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x59c712
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [esi + 0xad], 1
jmp 0x59cf7d
mov eax, esi
call fcn.0059bc54
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, esi
call fcn.0059ad2c
cmp eax, dword [ebx + 8]
jne 0x59cf7d
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x597768]
call fcn.00404ba0
test al, al
je 0x59c79f
mov eax, dword [0x63ce8c]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59c79f
mov ebx, esi
mov byte [ebx + 0xc8], 0
xor eax, eax
mov dword [ebx + 0xcc], eax
xor eax, eax
mov dword [ebx + 0xd0], eax
lea eax, [ebx + 0xb8]
call fcn.0041252c
lea eax, [ebx + 0xbc]
call fcn.0041252c
mov eax, ebx
call fcn.0054ac60
mov eax, esi
call fcn.0054d200
mov eax, esi
call fcn.00597c8c
mov eax, esi
call fcn.0059a1a8
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x3c]
xor ecx, ecx
mov eax, esi
call fcn.0059a140
cmp dword [esi + 0x5c], 0
je 0x59c7d6
xor edx, edx
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, esi
call fcn.0059ad2c
test eax, eax
je 0x59c81b
mov eax, esi
call fcn.0059ad2c
mov eax, dword [eax + 0xd0]
cmp byte [eax + 8], 2
jne 0x59c81b
cmp dword [esi + 0xb4], 0
je 0x59c81b
mov eax, esi
call fcn.0059ad2c
mov eax, dword [eax + 0xd0]
mov edx, dword [eax + 4]
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x68]
call fcn.00432678
mov byte [0x62f1c4], 0
jmp 0x59cf7d
mov byte [esi + 0xad], 1
mov eax, esi
call fcn.00597c8c
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59cf7d
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.0045a78c
jmp 0x59cf7d
mov byte [esi + 0x36], 1
jmp 0x59cf7d
mov dword [ebx + 0xc], esi
jmp 0x59cf7d
mov eax, esi
call fcn.0059a9f4
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 4]
mov dword [ebx + 8], eax
mov byte [ebp - 1], 1
jmp 0x59cf7d
mov edx, ebx
mov eax, esi
call fcn.005a0548
test al, al
je 0x59c9c8
mov eax, dword [0x63cad8]
cmp byte [eax], 0
je 0x59c8aa
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x597768]
call fcn.00404ba0
test al, al
je 0x59c8fd
mov eax, dword [0x63ce8c]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59c8fd
mov edi, esi
mov byte [edi + 0xc8], 0
xor eax, eax
mov dword [edi + 0xcc], eax
xor eax, eax
mov dword [edi + 0xd0], eax
lea eax, [edi + 0xb8]
call fcn.0041252c
lea eax, [edi + 0xbc]
call fcn.0041252c
mov eax, esi
call fcn.00597c8c
mov byte [esi + 0xad], 1
cmp word [ebx + 4], 0
je 0x59c94c
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c94c
push 0
lea eax, [ebp - 0x20]
push eax
xor ecx, ecx
mov edx, 0x140000
mov eax, 0xa100
call fcn.0057a26c
lea edx, [ebp - 0x20]
mov eax, dword [esi + 0xb4]
call fcn.00576fa0
mov byte [esi + 0x35], 0
mov dl, 1
mov eax, esi
call fcn.005981f8
mov eax, dword [0x63d308]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59c9a1
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59c9a1
push 0x737
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0045e714
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [esi + 0x74]
test eax, eax
je 0x59cf7d
cmp byte [eax + 0x30], 0
je 0x59cf7d
mov edx, dword [eax]
call dword [edx + 0x38]
mov eax, dword [esi + 0x74]
mov edx, dword [eax]
call dword [edx + 0x34]
jmp 0x59cf7d
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59cf7d
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.00576fa0
jmp 0x59cf7d
mov eax, esi
call fcn.0059ad2c
cmp eax, dword [ebx + 8]
jne 0x59cf7d
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x597768]
call fcn.00404ba0
test al, al
je 0x59ca62
mov eax, dword [0x63ce8c]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59ca62
mov ebx, esi
mov byte [ebx + 0xc8], 0
xor eax, eax
mov dword [ebx + 0xcc], eax
xor eax, eax
mov dword [ebx + 0xd0], eax
lea eax, [ebx + 0xb8]
call fcn.0041252c
lea eax, [ebx + 0xbc]
call fcn.0041252c
mov eax, ebx
call fcn.0054acc0
cmp dword [esi + 0xb0], 0
jl 0x59cf7d
mov dword [esi + 0xb0], 0xffffffff
mov eax, esi
call fcn.00597c8c
mov eax, esi
call fcn.0059ad2c
test eax, eax
je 0x59ca9d
mov eax, esi
call fcn.0059ad2c
test byte [eax + 0x1c], 8
je 0x59ca9d
xor eax, eax
mov dword [esi + 0x1c], eax
mov byte [ebp - 1], 0
cmp dword [esi + 0x5c], 0
je 0x59cab1
xor edx, edx
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59caf0
mov eax, dword [esi + 0xb4]
call fcn.0045eab4
test al, al
je 0x59caf0
push 0xf
call sub.user32.dll_GetSysColorBrush
push eax
push 0xfffffffffffffff6
mov eax, dword [esi + 0xb4]
call fcn.0045e714
push eax
call sub.user32.dll_SetClassLongA
mov ebx, dword [esi + 0xb4]
mov eax, ebx
mov edx, dword [0x43fa64]
call fcn.00404ba0
test al, al
je 0x59cb51
cmp byte [esi + 0x11], 0
jne 0x59cb19
mov edx, 0xff000005
mov eax, ebx
call fcn.00456960
cmp byte [esi + 0x10], 0
jne 0x59cb32
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.004323d0
push 0x421
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0045e714
push eax
call sub.user32.dll_RedrawWindow
jmp 0x59cf7d
mov eax, ebx
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59cf7d
mov esi, ebx
mov eax, esi
call fcn.0045a76c
mov edi, eax
dec edi
test edi, edi
jl 0x59cf7d
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, esi
call fcn.0045a730
mov edx, dword [0x43f328]
call fcn.00404ba0
test al, al
je 0x59cbab
mov edx, ebx
mov eax, esi
call fcn.0045a730
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.004323d0
inc ebx
dec edi
jne 0x59cb7d
jmp 0x59cf7d
cmp dword [esi + 0xb4], 0
je 0x59cf7d
xor edx, edx
mov eax, esi
call fcn.0059bba8
test al, al
je 0x59cd4a
mov eax, esi
call fcn.0059a9f4
mov eax, dword [eax + 0x52c]
imul edx, dword [esi + 0xb0], 0x26
lea eax, [eax + edx*8]
lea edi, [eax + 8]
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0xc]
sub eax, 1
jb 0x59cc04
sub eax, 0x63
je 0x59cc0f
jmp 0x59cc77
mov eax, dword [edi + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x30], 0
je 0x59cc61
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0045e714
call fcn.005980b8
test al, al
je 0x59cc50
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0045e714
mov ecx, 0x150000
mov edx, 0xa100
call fcn.00576e20
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00431f04
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x30], 0
je 0x59cca1
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0045e714
mov ecx, 0x150000
mov edx, 0xa100
call fcn.00576e20
mov dword [ebx + 0xc], eax
jmp 0x59ccb2
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00431f04
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0xc]
mov dword [0x64364c], eax
mov eax, dword [edi + 0x14]
mov dword [0x643650], eax
xor eax, eax
mov al, byte [0x64364c]
xor edx, edx
mov dl, byte [0x643650]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x643650]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x64364c], al
xor eax, eax
mov al, byte [0x64364d]
xor edx, edx
mov dl, byte [0x643651]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x643651]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x64364d], al
xor eax, eax
mov al, byte [0x64364e]
xor edx, edx
mov dl, byte [0x643652]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x643652]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x64364e], al
mov eax, dword [0x64364c]
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00431f04
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov eax, esi
call fcn.0059b648
mov byte [ebp - 2], al
mov al, byte [esi + 0xad]
or al, byte [ebp - 2]
mov byte [esi + 0xad], al
mov eax, esi
call fcn.00597c8c
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59cf7d
mov esi, dword [esi + 0xb4]
cmp word [ebx + 4], 1
jne 0x59cdbc
push 0xb1
push 0
push 0
mov eax, esi
call fcn.0045e714
push eax
call sub.user32.dll_RedrawWindow
cmp byte [ebp - 2], 0
je 0x59cf7d
mov eax, esi
call fcn.0045a76c
mov edi, eax
dec edi
test edi, edi
jl 0x59cf7d
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, esi
call fcn.0045a730
test byte [eax + 0x1c], 8
jne 0x59ce04
push 0
mov edx, ebx
mov eax, esi
call fcn.0045a730
mov ecx, 0x140001
mov edx, 0xa100
call fcn.00457aa8
inc ebx
dec edi
jne 0x59cddb
jmp 0x59cf7d
mov eax, dword [0x63d0a4]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov dword [ebx + 0xc], 1
cmp dword [esi + 0xb0], 0
setge al
and eax, 0x7f
mov dword [ebx + 8], eax
jmp 0x59cf7d
mov eax, esi
call fcn.0059ad2c
test eax, eax
je 0x59ce5f
mov eax, esi
call fcn.0059ad2c
call fcn.0058b5e8
test al, al
je 0x59ce5f
mov dword [ebx + 0xc], 1
jmp 0x59cf7d
cmp dword [esi + 0xb4], 0
je 0x59ce82
mov eax, dword [esi + 0xb4]
test byte [eax + 0x50], 0x40
setne al
xor al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov dword [ebx + 0xc], 1
jmp 0x59cf7d
push 0
cmp byte [esi + 0x34], 0
jne 0x59ceb6
cmp byte [esi + 0xac], 0
je 0x59ceb2
mov eax, dword [0x63d3b4]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59ceb6
xor ecx, ecx
jmp 0x59ceb8
mov cl, 1
and ecx, 0x7f
mov edx, dword [ebx + 8]
mov eax, esi
call fcn.005987bc
jmp 0x59cf7d
mov eax, esi
call fcn.00597c8c
jmp 0x59cf7d
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0xb0]
mov dword [eax + 4], edx
jmp 0x59cf7d
mov byte [esi + 0xad], 0
jmp 0x59cf7d
cmp byte [esi + 0x35], 0
je 0x59cf7d
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452068]
call fcn.00404ba0
test al, al
je 0x59cf7d
mov dl, 1
mov eax, esi
call fcn.005981d4
test al, al
jne 0x59cf39
push 0x585
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0045e714
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 0xb4]
call fcn.00576170
jmp 0x59cf7d
cmp word [ebx + 4], 0
setne dl
mov eax, esi
call fcn.0059ade0
jmp 0x59cf7d
cmp dword [ebx + 8], 0
je 0x59cf72
mov eax, dword [ebx + 8]
mov edx, dword [eax]
mov eax, esi
call fcn.0059b9e0
mov dword [ebx + 0xc], 1
jmp 0x59cf7d
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x59cf7d
mov byte [ebp - 1], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59cf9f
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00405988
ret