Function at 0x59ced0
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 0x59de90
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
test esi, esi
je 0x59de75
cmp dword [ebx], 0xa100
jne 0x59de75
movzx eax, word [ebx + 6]
cmp eax, 0x56
ja case.0x59cf1e.0
mov al, byte [eax + 0x59cf25]
jmp dword [eax*4 + 0x59cf7c]
cmp byte [esi + 0x38], 0
jne 0x59de75
mov byte [esi + 0x38], 1
mov byte [esi + 0xad], 1
cmp byte [esi + 8], 1
jne 0x59d035
mov byte [esi + 0x3a], 1
jmp 0x59d03b
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.004091dc
mov dword [ebx + 0xc], eax
cmp word [ebx + 8], 1
jne 0x59d098
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d098
mov eax, esi
call fcn.0059b874
xor ecx, ecx
mov cl, byte [esi + 0x3a]
xor edx, edx
call fcn.0057b1ac
mov edx, eax
mov ax, 1
call fcn.004091cc
mov edx, eax
mov ecx, 0x59cea8
mov eax, dword [esi + 0xb4]
call fcn.00573310
mov byte [esi + 0x38], 0
jmp 0x59de75
mov eax, esi
call fcn.0059b874
test al, al
je 0x59de75
push 0x585
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0045f528
push eax
call sub.user32.dll_RedrawWindow
mov dword [ebx + 0xc], 1
jmp 0x59de75
mov eax, esi
call fcn.0059bc24
cmp eax, dword [ebx + 8]
jne 0x59de75
mov byte [esi + 0xad], 1
mov edi, dword [esi + 0x70]
mov eax, edi
mov edx, dword [0x5a3c8c]
call fcn.00404a3c
test al, al
je 0x59d109
mov edi, dword [edi + 0x2cc]
jmp 0x59d119
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x59d117
mov edi, eax
jmp 0x59d119
xor edi, edi
test edi, edi
je 0x59de75
mov eax, esi
call fcn.0059bc24
mov edx, edi
call fcn.0058f6a0
mov eax, edi
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59de75
mov edx, ebx
mov eax, edi
call fcn.00577e98
jmp 0x59de75
mov eax, dword [ebx + 8]
mov dword [esi + 0x50], eax
mov eax, esi
call fcn.0059bc24
test eax, eax
je 0x59d187
mov eax, esi
call fcn.0059bc24
call fcn.0058c4e0
test al, al
je 0x59d187
mov eax, esi
call fcn.0059bc24
mov edx, dword [esi + 0x50]
call fcn.00590a18
mov dword [esi + 4], eax
jmp 0x59d18c
xor eax, eax
mov dword [esi + 4], eax
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d1ac
mov edx, ebx
mov eax, edi
call fcn.00577e98
mov byte [ebp - 1], 0
jmp 0x59de75
mov eax, dword [esi + 0x50]
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59de75
mov eax, edi
call fcn.0045f8c8
test al, al
je 0x59d202
push 0x737
push 0
push 0
push 0
push 0
push 0
mov eax, edi
call fcn.0045f528
push eax
call sub.user32.dll_SetWindowPos
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.00577e98
jmp 0x59de75
cmp byte [esi + 0xac], 0
je 0x59d262
mov eax, dword [0x63efc4]
cmp dword [eax], 0
je 0x59d262
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d262
mov eax, dword [esi + 0xb4]
call fcn.0045f528
mov edx, dword [0x63efc4]
mov edx, dword [edx]
cmp eax, dword [edx + 0x78]
jne 0x59d262
mov eax, dword [0x63efc4]
mov eax, dword [eax]
xor edx, edx
call fcn.0058d520
cmp dword [esi + 0x3c], 0
jl 0x59d272
lea eax, [esi + 0x3c]
xor edx, edx
call fcn.0051bf60
cmp dword [esi + 0x40], 0
jl 0x59d280
lea eax, [esi + 0x40]
call fcn.0051c124
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d2a5
mov edx, ebx
mov eax, edi
call fcn.00577e98
jmp 0x59de75
mov edi, dword [esi + 0x70]
mov eax, edi
mov edx, dword [0x5124f8]
call fcn.00404a3c
test al, al
je 0x59de75
mov eax, edi
call fcn.0051296c
mov edx, ebx
call fcn.00577e98
jmp 0x59de75
cmp word [ebx + 4], 0
jne 0x59d2eb
and dword [esi + 0xa8], 0xfffffdff
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x59de75
or dword [esi + 0xa8], 0x200
mov eax, dword [ebx + 8]
mov dword [esi + 0x58], eax
jmp 0x59de75
cmp dword [ebx + 8], 0
je 0x59de75
lea edx, [ebp - 0x24]
mov eax, dword [esi + 0x18]
call fcn.0040be2c
mov eax, dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
mov edx, dword [ebx + 8]
mov dl, byte [edx]
call fcn.00405a08
mov edx, dword [ebp - 0x28]
pop eax
call fcn.00405c48
jne 0x59de75
mov byte [0x63121c], 0
xor edx, edx
mov eax, esi
call fcn.0059bcd8
jmp 0x59de75
mov eax, esi
mov edx, dword [0x598660]
call fcn.00404a3c
test al, al
je 0x59de75
cmp word [esi + 0xc2], 0
je 0x59de75
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 0x59de75
xor edx, edx
mov eax, esi
call fcn.005990cc
test al, al
je 0x59d3ab
mov dword [ebx + 0xc], 1
jmp 0x59de75
cmp byte [esi + 0x11], 0
jne 0x59d464
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d45a
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x59d3e9
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x59d3e9
cmp byte [esi + 0xad], 0
je 0x59d423
mov eax, dword [esi + 0xb4]
call fcn.0045f528
xor ecx, ecx
mov edx, 0x17
call fcn.00577c08
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x59d416
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x59d416
xor eax, eax
jmp 0x59d418
mov al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, dword [esi + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [esi + 0xb4]
cmp eax, dword [edx + 0x48]
jne 0x59d44d
mov eax, dword [esi + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [esi + 0xb4]
cmp eax, dword [edx + 0x4c]
jne 0x59d44d
xor eax, eax
jmp 0x59d44f
mov al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x59de75
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x59de75
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x59de75
cmp word [ebx + 4], 1
sete al
mov byte [esi + 0x35], al
jmp 0x59de75
mov cx, word [ebx + 4]
mov edx, dword [ebx + 8]
mov eax, esi
call fcn.0059bffc
jmp 0x59de75
mov edi, dword [esi + 0xb4]
test edi, edi
je 0x59d4b6
lea edx, [ebp - 0x38]
mov eax, edi
call fcn.00456ef4
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 0x59de75
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0057b40c
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 0x59de75
xor eax, eax
mov al, byte [esi + 0x36]
mov dword [ebx + 0xc], eax
jmp 0x59de75
xor edx, edx
mov eax, esi
call fcn.0059caa0
test al, al
je 0x59de75
mov eax, esi
call fcn.0059b8ec
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.0059cb50
test al, al
je 0x59d556
mov edi, dword [esi + 0xb4]
test edi, edi
je 0x59d53d
mov edx, dword [ebx + 8]
mov eax, dword [edi + 0x30]
call fcn.0059a170
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, dword [esi + 0x60]
push eax
call sub.user32.dll_GetParent
mov edx, dword [ebx + 8]
call fcn.0059a1e4
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0xb0]
mov dword [eax + 4], edx
mov dword [ebx + 0xc], 1
jmp 0x59de75
cmp dword [esi + 0x5c], 0
je 0x59de75
mov ebx, dword [esi + 0xb4]
mov eax, ebx
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d5fc
mov eax, ebx
mov edx, dword [0x452e7c]
call fcn.00404a60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.0045b580
mov edi, eax
dec edi
test edi, edi
jl 0x59d5fc
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.0045b544
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d5f8
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.0045b544
call fcn.0045f8c8
test al, al
je 0x59d5f8
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.0045b544
call fcn.0045f528
xor ecx, ecx
mov edx, 0x21
call fcn.00577c08
inc ebx
dec edi
jne 0x59d5b1
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x59d60a
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [esi + 0xad], 1
jmp 0x59de75
mov eax, esi
call fcn.0059cb4c
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, esi
call fcn.0059bc24
cmp eax, dword [ebx + 8]
jne 0x59de75
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x598660]
call fcn.00404a3c
test al, al
je 0x59d697
mov eax, dword [0x63ef08]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59d697
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.004126f4
lea eax, [ebx + 0xbc]
call fcn.004126f4
mov eax, ebx
call fcn.0054bb58
mov eax, esi
call fcn.0054e0f8
mov eax, esi
call fcn.00598b84
mov eax, esi
call fcn.0059b0a0
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x3c]
xor ecx, ecx
mov eax, esi
call fcn.0059b038
cmp dword [esi + 0x5c], 0
je 0x59d6ce
xor edx, edx
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, esi
call fcn.0059bc24
test eax, eax
je 0x59d713
mov eax, esi
call fcn.0059bc24
mov eax, dword [eax + 0xd0]
cmp byte [eax + 8], 2
jne 0x59d713
cmp dword [esi + 0xb4], 0
je 0x59d713
mov eax, esi
call fcn.0059bc24
mov eax, dword [eax + 0xd0]
mov edx, dword [eax + 4]
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x68]
call fcn.004329ec
mov byte [0x63121c], 0
jmp 0x59de75
mov byte [esi + 0xad], 1
mov eax, esi
call fcn.00598b84
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59de75
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.0045b5a0
jmp 0x59de75
mov byte [esi + 0x36], 1
jmp 0x59de75
mov dword [ebx + 0xc], esi
jmp 0x59de75
mov eax, esi
call fcn.0059b8ec
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 4]
mov dword [ebx + 8], eax
mov byte [ebp - 1], 1
jmp 0x59de75
mov edx, ebx
mov eax, esi
call fcn.005a1440
test al, al
je 0x59d8c0
mov eax, dword [0x63eb4c]
cmp byte [eax], 0
je 0x59d7a2
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x598660]
call fcn.00404a3c
test al, al
je 0x59d7f5
mov eax, dword [0x63ef08]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59d7f5
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.004126f4
lea eax, [edi + 0xbc]
call fcn.004126f4
mov eax, esi
call fcn.00598b84
mov byte [esi + 0xad], 1
cmp word [ebx + 4], 0
je 0x59d844
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d844
push 0
lea eax, [ebp - 0x20]
push eax
xor ecx, ecx
mov edx, 0x140000
mov eax, 0xa100
call fcn.0057b164
lea edx, [ebp - 0x20]
mov eax, dword [esi + 0xb4]
call fcn.00577e98
mov byte [esi + 0x35], 0
mov dl, 1
mov eax, esi
call fcn.005990f0
mov eax, dword [0x63f38c]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59d899
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d899
push 0x737
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0045f528
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [esi + 0x74]
test eax, eax
je 0x59de75
cmp byte [eax + 0x30], 0
je 0x59de75
mov edx, dword [eax]
call dword [edx + 0x38]
mov eax, dword [esi + 0x74]
mov edx, dword [eax]
call dword [edx + 0x34]
jmp 0x59de75
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59de75
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.00577e98
jmp 0x59de75
mov eax, esi
call fcn.0059bc24
cmp eax, dword [ebx + 8]
jne 0x59de75
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x598660]
call fcn.00404a3c
test al, al
je 0x59d95a
mov eax, dword [0x63ef08]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59d95a
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.004126f4
lea eax, [ebx + 0xbc]
call fcn.004126f4
mov eax, ebx
call fcn.0054bbb8
cmp dword [esi + 0xb0], 0
jl 0x59de75
mov dword [esi + 0xb0], 0xffffffff
mov eax, esi
call fcn.00598b84
mov eax, esi
call fcn.0059bc24
test eax, eax
je 0x59d995
mov eax, esi
call fcn.0059bc24
test byte [eax + 0x1c], 8
je 0x59d995
xor eax, eax
mov dword [esi + 0x1c], eax
mov byte [ebp - 1], 0
cmp dword [esi + 0x5c], 0
je 0x59d9a9
xor edx, edx
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59d9e8
mov eax, dword [esi + 0xb4]
call fcn.0045f8c8
test al, al
je 0x59d9e8
push 0xf
call sub.user32.dll_GetSysColorBrush
push eax
push 0xfffffffffffffff6
mov eax, dword [esi + 0xb4]
call fcn.0045f528
push eax
call sub.user32.dll_SetClassLongA
mov ebx, dword [esi + 0xb4]
mov eax, ebx
mov edx, dword [0x43fdd8]
call fcn.00404a3c
test al, al
je 0x59da49
cmp byte [esi + 0x11], 0
jne 0x59da11
mov edx, 0xff000005
mov eax, ebx
call fcn.00457774
cmp byte [esi + 0x10], 0
jne 0x59da2a
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.00432744
push 0x421
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0045f528
push eax
call sub.user32.dll_RedrawWindow
jmp 0x59de75
mov eax, ebx
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59de75
mov esi, ebx
mov eax, esi
call fcn.0045b580
mov edi, eax
dec edi
test edi, edi
jl 0x59de75
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, esi
call fcn.0045b544
mov edx, dword [0x43f69c]
call fcn.00404a3c
test al, al
je 0x59daa3
mov edx, ebx
mov eax, esi
call fcn.0045b544
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.00432744
inc ebx
dec edi
jne 0x59da75
jmp 0x59de75
cmp dword [esi + 0xb4], 0
je 0x59de75
xor edx, edx
mov eax, esi
call fcn.0059caa0
test al, al
je 0x59dc42
mov eax, esi
call fcn.0059b8ec
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 0x59dafc
sub eax, 0x63
je 0x59db07
jmp 0x59db6f
mov eax, dword [edi + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x30], 0
je 0x59db59
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0045f528
call fcn.00598fb0
test al, al
je 0x59db48
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0045f528
mov ecx, 0x150000
mov edx, 0xa100
call fcn.00577d18
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00432278
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x30], 0
je 0x59db99
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0045f528
mov ecx, 0x150000
mov edx, 0xa100
call fcn.00577d18
mov dword [ebx + 0xc], eax
jmp 0x59dbaa
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00432278
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0xc]
mov dword [0x645658], eax
mov eax, dword [edi + 0x14]
mov dword [0x64565c], eax
xor eax, eax
mov al, byte [0x645658]
xor edx, edx
mov dl, byte [0x64565c]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x64565c]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x645658], al
xor eax, eax
mov al, byte [0x645659]
xor edx, edx
mov dl, byte [0x64565d]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x64565d]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x645659], al
xor eax, eax
mov al, byte [0x64565a]
xor edx, edx
mov dl, byte [0x64565e]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x64565e]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x64565a], al
mov eax, dword [0x645658]
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00432278
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov eax, esi
call fcn.0059c540
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.00598b84
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59de75
mov esi, dword [esi + 0xb4]
cmp word [ebx + 4], 1
jne 0x59dcb4
push 0xb1
push 0
push 0
mov eax, esi
call fcn.0045f528
push eax
call sub.user32.dll_RedrawWindow
cmp byte [ebp - 2], 0
je 0x59de75
mov eax, esi
call fcn.0045b580
mov edi, eax
dec edi
test edi, edi
jl 0x59de75
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, esi
call fcn.0045b544
test byte [eax + 0x1c], 8
jne 0x59dcfc
push 0
mov edx, ebx
mov eax, esi
call fcn.0045b544
mov ecx, 0x140001
mov edx, 0xa100
call fcn.004588bc
inc ebx
dec edi
jne 0x59dcd3
jmp 0x59de75
mov eax, dword [0x63f124]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov dword [ebx + 0xc], 1
cmp dword [esi + 0xb0], 0
setge al
and eax, 0x7f
mov dword [ebx + 8], eax
jmp 0x59de75
mov eax, esi
call fcn.0059bc24
test eax, eax
je 0x59dd57
mov eax, esi
call fcn.0059bc24
call fcn.0058c4e0
test al, al
je 0x59dd57
mov dword [ebx + 0xc], 1
jmp 0x59de75
cmp dword [esi + 0xb4], 0
je 0x59dd7a
mov eax, dword [esi + 0xb4]
test byte [eax + 0x50], 0x40
setne al
xor al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov dword [ebx + 0xc], 1
jmp 0x59de75
push 0
cmp byte [esi + 0x34], 0
jne 0x59ddae
cmp byte [esi + 0xac], 0
je 0x59ddaa
mov eax, dword [0x63f438]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x59ddae
xor ecx, ecx
jmp 0x59ddb0
mov cl, 1
and ecx, 0x7f
mov edx, dword [ebx + 8]
mov eax, esi
call fcn.005996b4
jmp 0x59de75
mov eax, esi
call fcn.00598b84
jmp 0x59de75
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0xb0]
mov dword [eax + 4], edx
jmp 0x59de75
mov byte [esi + 0xad], 0
jmp 0x59de75
cmp byte [esi + 0x35], 0
je 0x59de75
mov eax, dword [esi + 0xb4]
mov edx, dword [0x452e7c]
call fcn.00404a3c
test al, al
je 0x59de75
mov dl, 1
mov eax, esi
call fcn.005990cc
test al, al
jne 0x59de31
push 0x585
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0045f528
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 0xb4]
call fcn.00577068
jmp 0x59de75
cmp word [ebx + 4], 0
setne dl
mov eax, esi
call fcn.0059bcd8
jmp 0x59de75
cmp dword [ebx + 8], 0
je 0x59de6a
mov eax, dword [ebx + 8]
mov edx, dword [eax]
mov eax, esi
call fcn.0059c8d8
mov dword [ebx + 0xc], 1
jmp 0x59de75
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x59de75
mov byte [ebp - 1], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59de97
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00405844
ret