Function at 0x558e10
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 0x559dd0
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
test esi, esi
je 0x559db5
cmp dword [ebx], 0xa100
jne 0x559db5
movzx eax, word [ebx + 6]
cmp eax, 0x56
ja case.0x558e5e.0
mov al, byte [eax + 0x558e65]
jmp dword [eax*4 + 0x558ebc]
cmp byte [esi + 0x38], 0
jne 5610933
mov byte [esi + 0x38], 1
mov byte [esi + 0xad], 1
cmp byte [esi + 8], 1
jne 0x558f75
mov byte [esi + 0x3a], 1
jmp 0x558f7b
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.00408168
mov dword [ebx + 0xc], eax
cmp word [ebx + 8], 1
jne 0x558fd8
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x558fd8
mov eax, esi
call fcn.005577b4
xor ecx, ecx
mov cl, byte [esi + 0x3a]
xor edx, edx
call fcn.00533c18
mov edx, eax
mov ax, 1
call fcn.00408158
mov edx, eax
mov ecx, 0x558de8
mov eax, dword [esi + 0xb4]
call fcn.005182c4
mov byte [esi + 0x38], 0
jmp 0x559db5
mov eax, esi
call fcn.005577b4
test al, al
je 0x559db5
push 0x585
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0044b9d0
push eax
call sub.user32.dll_RedrawWindow
mov dword [ebx + 0xc], 1
jmp 0x559db5
mov eax, esi
call fcn.00557b64
cmp eax, dword [ebx + 8]
jne 0x559db5
mov byte [esi + 0xad], 1
mov edi, dword [esi + 0x70]
mov eax, edi
mov edx, dword [0x4a5de0]
call fcn.00403efc
test al, al
je 0x559049
mov edi, dword [edi + 0x2cc]
jmp 0x559059
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x559057
mov edi, eax
jmp 0x559059
xor edi, edi
test edi, edi
je 0x559db5
mov eax, esi
call fcn.00557b64
mov edx, edi
call fcn.005430a0
mov eax, edi
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559db5
mov edx, ebx
mov eax, edi
call fcn.0051cde0
jmp 0x559db5
mov eax, dword [ebx + 8]
mov dword [esi + 0x50], eax
mov eax, esi
call fcn.00557b64
test eax, eax
je 0x5590c7
mov eax, esi
call fcn.00557b64
call fcn.0053fee0
test al, al
je 0x5590c7
mov eax, esi
call fcn.00557b64
mov edx, dword [esi + 0x50]
call fcn.00544418
mov dword [esi + 4], eax
jmp 0x5590cc
xor eax, eax
mov dword [esi + 4], eax
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x5590ec
mov edx, ebx
mov eax, edi
call fcn.0051cde0
mov byte [ebp - 1], 0
jmp 0x559db5
mov eax, dword [esi + 0x50]
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559db5
mov eax, edi
call fcn.0044bcd4
test al, al
je 0x559142
push 0x737
push 0
push 0
push 0
push 0
push 0
mov eax, edi
call fcn.0044b9d0
push eax
call sub.user32.dll_SetWindowPos
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.0051cde0
jmp 0x559db5
cmp byte [esi + 0xac], 0
je 0x5591a2
mov eax, dword [0x586a88]
cmp dword [eax], 0
je 0x5591a2
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x5591a2
mov eax, dword [esi + 0xb4]
call fcn.0044b9d0
mov edx, dword [0x586a88]
mov edx, dword [edx]
cmp eax, dword [edx + 0x78]
jne 0x5591a2
mov eax, dword [0x586a88]
mov eax, dword [eax]
xor edx, edx
call fcn.00540f20
cmp dword [esi + 0x3c], 0
jl 0x5591b2
lea eax, [esi + 0x3c]
xor edx, edx
call fcn.004a0418
cmp dword [esi + 0x40], 0
jl 0x5591c0
lea eax, [esi + 0x40]
call fcn.004a05dc
mov edi, dword [esi + 0xb4]
mov eax, edi
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x5591e5
mov edx, ebx
mov eax, edi
call fcn.0051cde0
jmp 0x559db5
mov edi, dword [esi + 0x70]
mov eax, edi
mov edx, dword [0x4960dc]
call fcn.00403efc
test al, al
je 0x559db5
mov eax, edi
call fcn.00496550
mov edx, ebx
call fcn.0051cde0
jmp 0x559db5
cmp word [ebx + 4], 0
jne 0x55922b
and dword [esi + 0xa8], 0xfffffdff
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x559db5
or dword [esi + 0xa8], 0x200
mov eax, dword [ebx + 8]
mov dword [esi + 0x58], eax
jmp 0x559db5
cmp dword [ebx + 8], 0
je 0x559db5
lea edx, [ebp - 0x24]
mov eax, dword [esi + 0x18]
call fcn.004093dc
mov eax, dword [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
mov edx, dword [ebx + 8]
mov dl, byte [edx]
call fcn.00404d7c
mov edx, dword [ebp - 0x28]
pop eax
call fcn.00404fa0
jne 0x559db5
mov byte [0x586300], 0
xor edx, edx
mov eax, esi
call fcn.00557c18
jmp 0x559db5
mov eax, esi
mov edx, dword [0x5545e4]
call fcn.00403efc
test al, al
je 0x559db5
cmp word [esi + 0xc2], 0
je 0x559db5
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 0x559db5
xor edx, edx
mov eax, esi
call fcn.00555050
test al, al
je 0x5592eb
mov dword [ebx + 0xc], 1
jmp 0x559db5
cmp byte [esi + 0x11], 0
jne 0x5593a4
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x55939a
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x559329
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x559329
cmp byte [esi + 0xad], 0
je 0x559363
mov eax, dword [esi + 0xb4]
call fcn.0044b9d0
xor ecx, ecx
mov edx, 0x17
call fcn.0051cb50
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x559356
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x559356
xor eax, eax
jmp 0x559358
mov al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, dword [esi + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [esi + 0xb4]
cmp eax, dword [edx + 0x48]
jne 0x55938d
mov eax, dword [esi + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [esi + 0xb4]
cmp eax, dword [edx + 0x4c]
jne 0x55938d
xor eax, eax
jmp 0x55938f
mov al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x559db5
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x559db5
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x559db5
cmp word [ebx + 4], 1
sete al
mov byte [esi + 0x35], al
jmp 0x559db5
mov cx, word [ebx + 4]
mov edx, dword [ebx + 8]
mov eax, esi
call fcn.00557f3c
jmp 0x559db5
mov edi, dword [esi + 0xb4]
test edi, edi
je 0x5593f6
lea edx, [ebp - 0x38]
mov eax, edi
call fcn.00444b70
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 0x559db5
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00533e78
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 0x559db5
xor eax, eax
mov al, byte [esi + 0x36]
mov dword [ebx + 0xc], eax
jmp 0x559db5
xor edx, edx
mov eax, esi
call fcn.005589e0
test al, al
je 0x559db5
mov eax, esi
call fcn.0055782c
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.00558a90
test al, al
je 0x559496
mov edi, dword [esi + 0xb4]
test edi, edi
je 0x55947d
mov edx, dword [ebx + 8]
mov eax, dword [edi + 0x30]
call fcn.005560f4
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, dword [esi + 0x60]
push eax
call sub.user32.dll_GetParent
mov edx, dword [ebx + 8]
call fcn.00556168
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0xb0]
mov dword [eax + 4], edx
mov dword [ebx + 0xc], 1
jmp 0x559db5
cmp dword [esi + 0x5c], 0
je 0x559db5
mov ebx, dword [esi + 0xb4]
mov eax, ebx
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x55953c
mov eax, ebx
mov edx, dword [0x4410f8]
call fcn.00403f20
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.00448700
mov edi, eax
dec edi
test edi, edi
jl 0x55953c
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.004486c4
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559538
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.004486c4
call fcn.0044bcd4
test al, al
je 0x559538
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.004486c4
call fcn.0044b9d0
xor ecx, ecx
mov edx, 0x21
call fcn.0051cb50
inc ebx
dec edi
jne 0x5594f1
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x55954a
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [esi + 0xad], 1
jmp 0x559db5
mov eax, esi
call fcn.00558a8c
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, esi
call fcn.00557b64
cmp eax, dword [ebx + 8]
jne 0x559db5
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x5545e4]
call fcn.00403efc
test al, al
je 0x5595d7
mov eax, dword [0x5869f4]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x5595d7
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.0040f0a8
lea eax, [ebx + 0xbc]
call fcn.0040f0a8
mov eax, ebx
call fcn.0054c5e8
mov eax, esi
call fcn.0054eb80
mov eax, esi
call fcn.00554b08
mov eax, esi
call fcn.00557024
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x3c]
xor ecx, ecx
mov eax, esi
call fcn.00556fbc
cmp dword [esi + 0x5c], 0
je 0x55960e
xor edx, edx
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, esi
call fcn.00557b64
test eax, eax
je 0x559653
mov eax, esi
call fcn.00557b64
mov eax, dword [eax + 0xd0]
cmp byte [eax + 8], 2
jne 0x559653
cmp dword [esi + 0xb4], 0
je 0x559653
mov eax, esi
call fcn.00557b64
mov eax, dword [eax + 0xd0]
mov edx, dword [eax + 4]
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x68]
call fcn.004238f8
mov byte [0x586300], 0
jmp 0x559db5
mov byte [esi + 0xad], 1
mov eax, esi
call fcn.00554b08
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559db5
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.00448720
jmp 0x559db5
mov byte [esi + 0x36], 1
jmp 0x559db5
mov dword [ebx + 0xc], esi
jmp 0x559db5
mov eax, esi
call fcn.0055782c
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 4]
mov dword [ebx + 8], eax
mov byte [ebp - 1], 1
jmp 0x559db5
mov edx, ebx
mov eax, esi
call fcn.0055d2e8
test al, al
je 0x559800
mov eax, dword [0x586764]
cmp byte [eax], 0
je 0x5596e2
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x5545e4]
call fcn.00403efc
test al, al
je 0x559735
mov eax, dword [0x5869f4]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x559735
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.0040f0a8
lea eax, [edi + 0xbc]
call fcn.0040f0a8
mov eax, esi
call fcn.00554b08
mov byte [esi + 0xad], 1
cmp word [ebx + 4], 0
je 0x559784
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559784
push 0
lea eax, [ebp - 0x20]
push eax
xor ecx, ecx
mov edx, 0x140000
mov eax, 0xa100
call fcn.00533bd0
lea edx, [ebp - 0x20]
mov eax, dword [esi + 0xb4]
call fcn.0051cde0
mov byte [esi + 0x35], 0
mov dl, 1
mov eax, esi
call fcn.00555074
mov eax, dword [0x586d18]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x5597d9
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x5597d9
push 0x737
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0044b9d0
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [esi + 0x74]
test eax, eax
je 0x559db5
cmp byte [eax + 0x30], 0
je 0x559db5
mov edx, dword [eax]
call dword [edx + 0x38]
mov eax, dword [esi + 0x74]
mov edx, dword [eax]
call dword [edx + 0x34]
jmp 0x559db5
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559db5
mov edx, ebx
mov eax, dword [esi + 0xb4]
call fcn.0051cde0
jmp 0x559db5
mov eax, esi
call fcn.00557b64
cmp eax, dword [ebx + 8]
jne 0x559db5
xor eax, eax
mov dword [esi + 4], eax
mov eax, esi
mov edx, dword [0x5545e4]
call fcn.00403efc
test al, al
je 0x55989a
mov eax, dword [0x5869f4]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x55989a
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.0040f0a8
lea eax, [ebx + 0xbc]
call fcn.0040f0a8
mov eax, ebx
call fcn.0054c648
cmp dword [esi + 0xb0], 0
jl 0x559db5
mov dword [esi + 0xb0], 0xffffffff
mov eax, esi
call fcn.00554b08
mov eax, esi
call fcn.00557b64
test eax, eax
je 0x5598d5
mov eax, esi
call fcn.00557b64
test byte [eax + 0x1c], 8
je 0x5598d5
xor eax, eax
mov dword [esi + 0x1c], eax
mov byte [ebp - 1], 0
cmp dword [esi + 0x5c], 0
je 0x5598e9
xor edx, edx
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559928
mov eax, dword [esi + 0xb4]
call fcn.0044bcd4
test al, al
je 0x559928
push 0xf
call sub.user32.dll_GetSysColorBrush
push eax
push 0xfffffffffffffff6
mov eax, dword [esi + 0xb4]
call fcn.0044b9d0
push eax
call sub.user32.dll_SetClassLongA
mov ebx, dword [esi + 0xb4]
mov eax, ebx
mov edx, dword [0x437be0]
call fcn.00403efc
test al, al
je 0x559989
cmp byte [esi + 0x11], 0
jne 0x559951
mov edx, 0xff000005
mov eax, ebx
call fcn.00445370
cmp byte [esi + 0x10], 0
jne 0x55996a
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.004236d0
push 0x421
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0044b9d0
push eax
call sub.user32.dll_RedrawWindow
jmp 0x559db5
mov eax, ebx
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559db5
mov esi, ebx
mov eax, esi
call fcn.00448700
mov edi, eax
dec edi
test edi, edi
jl 0x559db5
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, esi
call fcn.004486c4
mov edx, dword [0x437500]
call fcn.00403efc
test al, al
je 0x5599e3
mov edx, ebx
mov eax, esi
call fcn.004486c4
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.004236d0
inc ebx
dec edi
jne 0x5599b5
jmp 0x559db5
cmp dword [esi + 0xb4], 0
je 0x559db5
xor edx, edx
mov eax, esi
call fcn.005589e0
test al, al
je 0x559b82
mov eax, esi
call fcn.0055782c
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 0x559a3c
sub eax, 0x63
je 0x559a47
jmp 0x559aaf
mov eax, dword [edi + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x30], 0
je 0x559a99
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0044b9d0
call fcn.00554f34
test al, al
je 0x559a88
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0044b9d0
mov ecx, 0x150000
mov edx, 0xa100
call fcn.0051cc60
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00423210
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x30], 0
je 0x559ad9
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
call fcn.0044b9d0
mov ecx, 0x150000
mov edx, 0xa100
call fcn.0051cc60
mov dword [ebx + 0xc], eax
jmp 0x559aea
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00423210
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0xc]
mov dword [0x588104], eax
mov eax, dword [edi + 0x14]
mov dword [0x588108], eax
xor eax, eax
mov al, byte [0x588104]
xor edx, edx
mov dl, byte [0x588108]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x588108]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x588104], al
xor eax, eax
mov al, byte [0x588105]
xor edx, edx
mov dl, byte [0x588109]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x588109]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x588105], al
xor eax, eax
mov al, byte [0x588106]
xor edx, edx
mov dl, byte [0x58810a]
sub eax, edx
imul dword [edi + 0xc]
xor edx, edx
mov dl, byte [0x58810a]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [0x588106], al
mov eax, dword [0x588104]
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, dword [esi + 0xb4]
mov eax, dword [eax + 0x70]
call fcn.00423210
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov eax, esi
call fcn.00558480
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.00554b08
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559db5
mov esi, dword [esi + 0xb4]
cmp word [ebx + 4], 1
jne 0x559bf4
push 0xb1
push 0
push 0
mov eax, esi
call fcn.0044b9d0
push eax
call sub.user32.dll_RedrawWindow
cmp byte [ebp - 2], 0
je 0x559db5
mov eax, esi
call fcn.00448700
mov edi, eax
dec edi
test edi, edi
jl 0x559db5
inc edi
xor ebx, ebx
mov edx, ebx
mov eax, esi
call fcn.004486c4
test byte [eax + 0x1c], 8
jne 0x559c3c
push 0
mov edx, ebx
mov eax, esi
call fcn.004486c4
mov ecx, 0x140001
mov edx, 0xa100
call fcn.0044639c
inc ebx
dec edi
jne 0x559c13
jmp 0x559db5
mov eax, dword [0x586b7c]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov dword [ebx + 0xc], 1
cmp dword [esi + 0xb0], 0
setge al
and eax, 0x7f
mov dword [ebx + 8], eax
jmp 0x559db5
mov eax, esi
call fcn.00557b64
test eax, eax
je 0x559c97
mov eax, esi
call fcn.00557b64
call fcn.0053fee0
test al, al
je 0x559c97
mov dword [ebx + 0xc], 1
jmp 0x559db5
cmp dword [esi + 0xb4], 0
je 0x559cba
mov eax, dword [esi + 0xb4]
test byte [eax + 0x50], 0x40
setne al
xor al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov dword [ebx + 0xc], 1
jmp 0x559db5
push 0
cmp byte [esi + 0x34], 0
jne 0x559cee
cmp byte [esi + 0xac], 0
je 0x559cea
mov eax, dword [0x586d8c]
mov dl, byte [esi + 0x39]
and edx, 0xff
bt dword [eax], edx
jae 0x559cee
xor ecx, ecx
jmp 0x559cf0
mov cl, 1
and ecx, 0x7f
mov edx, dword [ebx + 8]
mov eax, esi
call fcn.00555638
jmp 0x559db5
mov eax, esi
call fcn.00554b08
jmp 0x559db5
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0xb0]
mov dword [eax + 4], edx
jmp 0x559db5
mov byte [esi + 0xad], 0
jmp 0x559db5
cmp byte [esi + 0x35], 0
je 0x559db5
mov eax, dword [esi + 0xb4]
mov edx, dword [0x4410f8]
call fcn.00403efc
test al, al
je 0x559db5
mov dl, 1
mov eax, esi
call fcn.00555050
test al, al
jne 0x559d71
push 0x585
push 0
push 0
mov eax, dword [esi + 0xb4]
call fcn.0044b9d0
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 0xb4]
call fcn.0051bfb0
jmp 0x559db5
cmp word [ebx + 4], 0
setne dl
mov eax, esi
call fcn.00557c18
jmp 0x559db5
cmp dword [ebx + 8], 0
je 0x559daa
mov eax, dword [ebx + 8]
mov edx, dword [eax]
mov eax, esi
call fcn.00558818
mov dword [ebx + 0xc], 1
jmp 0x559db5
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x559db5
mov byte [ebp - 1], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x559dd7
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00404bb8
ret
xor al, 0x13
invalid
or byte [edi], ah
or byte [edi], ah
push edx
inc ebx
xor al, byte [ebx]
cmp byte [ebx - 0x28], bl
cmp byte [edi - 0x21], ah
and al, 0xff
jae 0x8e0d04
push edi
invalid
pushal
add eax, 0xcbbf0f2b
int1
loop 0x8e0cd5
mov edi, 0xcce2f1cb
adc al, 0x20
or dword [eax - 0x69d943bb], ecx
push esi
sub al, 0xa9
xchg edx, eax
mov al, byte [0xde088137]
pop ss
hlt
test eax, 0xe2d3eaaa
je 0x8e0cbb
out dx, al
add cl, byte [edx]
fsubr st(4), st(0)
mov cl, 0x3b
cmp ebp, dword [ecx + 0x54]
xchg esp, eax
pop ds
popal
or al, 0xce
mov cl, 0xa1
fdiv qword [eax - 0x6c]
stc
xlatb
cwde
outsb dx, byte [esi]
inc eax
inc ecx
xchg edi, eax
push 0xffffffffffffff9b
clc
mov ch, 4
jbe 0x8e0d00
lea esi, [edx + ebp*4]
scasb al, byte es:[edi]
sub al, byte [edx + 0x62]
push ds
leave
jb 0x8e0d1e
sti
sub al, 0xb7
hlt