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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff85c
xor edx, edx
push ebx
push esi
push edi
lea edi, [ebp - 0x250]
mov dword [ebp - 0x254], eax
mov eax, 0x56498f
mov dword [edi + 8], 0x6e9724
mov dword [edi + 0xc], esp
mov dword [edi + 4], eax
mov word [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ecx, dword fs:[0]
mov dword [edi], ecx
mov dword fs:[0], edi
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x74]
cmp edx, dword [ecx + 0x68]
jl 0x5d3f3d
xor eax, eax
mov edx, dword [edi]
mov dword fs:[0], edx
jmp 0x5d9dcc
mov ecx, dword [ebp - 0x254]
cmp dword [ecx + 0x64], 0
jne 0x5d3f59
xor eax, eax
mov edx, dword [edi]
mov dword fs:[0], edx
jmp 0x5d9dcc
cmp byte [0x6e6762], 0
jne 0x5d3fdc
mov word [edi + 0x10], 8
mov eax, str.tagname
call fcn.00408c54
mov dword [ebp - 4], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 4]
lea edx, [ebp - 8]
call fcn.0046a988
lea ecx, [ebp - 8]
inc dword [edi + 0x1c]
mov dword [ebp - 0x258], ecx
mov eax, dword [ebp - 0x258]
mov edx, dword [eax]
mov dword [0x7af014], edx
cmp dword [0x7af014], 0
je 0x5d3fae
mov ecx, dword [0x7af014]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 8], 0
je 0x5d3fc2
mov eax, dword [ebp - 8]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 4], 0
je 0x5d3fd3
mov eax, dword [ebp - 4]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e6762]
cmp byte [0x6e6763], 0
jne 0x5d405f
mov word [edi + 0x10], 0x2c
mov eax, 0x6e6e7a
call fcn.00408c54
mov dword [ebp - 0xc], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x10]
call fcn.0046a988
lea ecx, [ebp - 0x10]
inc dword [edi + 0x1c]
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp - 0x25c]
mov edx, dword [eax]
mov dword [0x7af018], edx
cmp dword [0x7af018], 0
je 0x5d4031
mov ecx, dword [0x7af018]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x10], 0
je 0x5d4045
mov eax, dword [ebp - 0x10]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0xc], 0
je 0x5d4056
mov eax, dword [ebp - 0xc]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e6763]
cmp byte [0x6e6764], 0
jne 0x5d40e2
mov word [edi + 0x10], 0x50
mov eax, str.storage
call fcn.00408c54
mov dword [ebp - 0x14], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 0x14]
lea edx, [ebp - 0x18]
call fcn.0046a988
lea ecx, [ebp - 0x18]
inc dword [edi + 0x1c]
mov dword [ebp - 0x260], ecx
mov eax, dword [ebp - 0x260]
mov edx, dword [eax]
mov dword [0x7af01c], edx
cmp dword [0x7af01c], 0
je 0x5d40b4
mov ecx, dword [0x7af01c]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x18], 0
je 0x5d40c8
mov eax, dword [ebp - 0x18]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x14], 0
je 0x5d40d9
mov eax, dword [ebp - 0x14]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e6764]
cmp byte [0x6e6765], 0
jne 0x5d4165
mov word [edi + 0x10], 0x74
mov eax, 0x6e6e82
call fcn.00408c54
mov dword [ebp - 0x1c], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 0x1c]
lea edx, [ebp - 0x20]
call fcn.0046a988
lea ecx, [ebp - 0x20]
inc dword [edi + 0x1c]
mov dword [ebp - 0x264], ecx
mov eax, dword [ebp - 0x264]
mov edx, dword [eax]
mov dword [0x7af020], edx
cmp dword [0x7af020], 0
je 0x5d4137
mov ecx, dword [0x7af020]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x20], 0
je 0x5d414b
mov eax, dword [ebp - 0x20]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1c], 0
je 0x5d415c
mov eax, dword [ebp - 0x1c]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e6765]
cmp byte [0x6e6766], 0
jne 0x5d41e8
mov word [edi + 0x10], 0x98
mov eax, 0x6e6e90
call fcn.00408c54
mov dword [ebp - 0x24], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 0x24]
lea edx, [ebp - 0x28]
call fcn.0046a988
lea ecx, [ebp - 0x28]
inc dword [edi + 0x1c]
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x268]
mov edx, dword [eax]
mov dword [0x7af024], edx
cmp dword [0x7af024], 0
je 0x5d41ba
mov ecx, dword [0x7af024]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x28], 0
je 0x5d41ce
mov eax, dword [ebp - 0x28]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x24], 0
je 0x5d41df
mov eax, dword [ebp - 0x24]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e6766]
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x10]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 8]
push edx
mov ecx, dword [edx]
call dword [ecx + 8]
add esp, 0x20
mov eax, dword [ebp - 0x254]
cmp byte [eax + 0x104], 0
je 0x5d42ca
cmp byte [0x6e6767], 0
jne 0x5d426a
mov word [edi + 0x10], 0xbc
mov dword [0x7af030], 2
mov edx, str.interrupt
test edx, edx
je 0x5d4256
mov eax, str.interrupt
call fcn.00408c54
mov dword [0x7af028], eax
jmp 0x5d425e
xor edx, edx
mov dword [0x7af028], edx
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
inc byte [0x6e6767]
mov ecx, dword [ebp - 0x254]
mov edx, dword [0x7af014]
mov eax, dword [ecx + 0x10]
push eax
push 0x7af028
push edx
push pe_nt_image_headers32
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x28]
add esp, 0x14
mov ecx, dword [ebp - 0x254]
mov byte [ecx + 0x104], 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov ecx, dword [edx]
call dword [ecx]
pop ecx
mov eax, dword [ebp - 0x254]
mov eax, dword [eax + 0x10]
mov edx, dword [edi]
mov dword fs:[0], edx
jmp 0x5d9dcc
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x74]
cmp eax, dword [edx + 0x68]
jge 0x5d9dc1
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov dword [ebp - 0x26c], eax
mov edx, dword [ebp - 0x254]
cmp byte [edx + 0x84], 0
jne 0x5d432b
mov ecx, dword [ebp - 0x254]
cmp dword [ecx + 0x78], 0
jne 0x5d432b
mov eax, dword [ebp - 0x254]
call fcn.005d183c
test al, al
jne 0x5d432b
xor eax, eax
mov edx, dword [edi]
mov dword fs:[0], edx
jmp 0x5d9dcc
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x96], 0
jne 0x5d4640
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2], 0x5c
jne 0x5d4371
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2 + 2], 0
je 0x5d43e8
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0
jne 0x5d440e
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0x78], 3
jl 0x5d440e
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2 - 6], 0x5b
jne 0x5d440e
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2 - 4], 0x70
jne 0x5d440e
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2 - 2], 0x5d
jne 0x5d440e
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x74]
mov ecx, dword [ebp - 0x254]
xor eax, eax
mov dword [ecx + 0x78], eax
mov edx, dword [ebp - 0x254]
mov byte [edx + 0x84], 0
jmp 0x5d41e8
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0
jne 0x5d4640
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x74]
mov dword [ecx + 0x90], edx
cmp byte [0x6e6768], 0
jne 0x5d4487
mov word [edi + 0x10], 0xc8
mov dword [0x7af03c], 2
mov eax, 0x6e6892
test eax, eax
je 0x5d4473
mov eax, 0x6e6892
call fcn.00408c54
mov dword [0x7af034], eax
jmp 0x5d447b
xor edx, edx
mov dword [0x7af034], edx
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
inc byte [0x6e6768]
cmp byte [0x6e6769], 0
jne 0x5d44ce
mov word [edi + 0x10], 0xd4
mov dword [0x7af048], 2
mov ecx, 0x6e6eac
test ecx, ecx
je 0x5d44ba
mov eax, 0x6e6eac
call fcn.00408c54
mov dword [0x7af040], eax
jmp 0x5d44c2
xor edx, edx
mov dword [0x7af040], edx
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
inc byte [0x6e6769]
mov ecx, dword [ebp - 0x254]
mov edx, dword [0x7af014]
mov eax, dword [ecx + 0x10]
push eax
push 0x7af034
push edx
push pe_nt_image_headers32
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x28]
mov ecx, dword [ebp - 0x254]
add esp, 0x14
mov edx, dword [0x7af018]
mov eax, dword [ecx + 0x10]
push eax
push 0x7af040
push edx
push pe_nt_image_headers32
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x28]
add esp, 0x14
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x97], 0
je 0x5d45d3
mov eax, dword [ebp - 0x254]
mov edx, str._r_eoltrue_
add eax, 0x98
test edx, edx
mov dword [ebp - 0x270], eax
je 0x5d45d3
mov ecx, dword [ebp - 0x270]
cmp dword [ecx], 0
jne 0x5d4564
xor eax, eax
jmp 0x5d45b9
mov edx, dword [ebp - 0x270]
mov ecx, dword [edx]
cmp dword [ecx], 0
jne 0x5d45ae
mov eax, dword [ebp - 0x270]
mov edx, dword [eax]
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 0
jne 0x5d458c
xor eax, eax
jmp 0x5d45b9
mov edx, dword [ebp - 0x274]
cmp dword [edx + 4], 0
je 0x5d45a3
mov ecx, dword [ebp - 0x274]
mov eax, dword [ecx + 4]
jmp 0x5d45b9
mov eax, dword [ebp - 0x274]
add eax, 8
jmp 0x5d45b9
mov eax, dword [ebp - 0x270]
call fcn.0040a360
mov edx, str._r_eoltrue_
mov ecx, dword [ebp - 0x270]
mov eax, dword [ecx]
call fcn.00408ec4
mov edx, dword [ebp - 0x270]
mov dword [edx], eax
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x74]
mov eax, dword [ebp - 0x254]
xor edx, edx
mov dword [eax + 0x78], edx
mov ecx, dword [ebp - 0x254]
mov byte [ecx + 0x84], 0
mov eax, dword [ebp - 0x254]
cmp byte [eax + 0x97], 0
jne 0x5d41e8
mov edx, dword [ebp - 0x254]
cmp dword [edx + 0xac], 0xffffffff
jne 0x5d41e8
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx]
pop ecx
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
mov edx, dword [edi]
mov dword fs:[0], edx
jmp 0x5d9dcc
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x84], 0
jne 0x5d4671
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0x78], 0
jne 0x5d4671
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x7c]
cmp word [ecx], 0x40
jne 0x5d4671
xor esi, esi
jmp 0x5d4bcc
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2], 0x5b
jne 0x5d46c5
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0x5b
jne 0x5d4bc8
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2 + 2], 0x5b
jne 0x5d4bc8
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
mov ecx, dword [ebp - 0x254]
mov bx, word [eax + edx*2]
mov eax, dword [ebp - 0x254]
test bx, bx
mov edx, dword [eax + 0x74]
mov dword [ecx + 0x90], edx
jne 0x5d471b
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x74]
mov edx, dword [ebp - 0x254]
xor ecx, ecx
mov dword [edx + 0x78], ecx
mov eax, dword [ebp - 0x254]
mov byte [eax + 0x84], 0
jmp 0x5d41e8
cmp bx, 9
jne 0x5d472f
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
jmp 0x5d41e8
cmp bx, 0xa
je 0x5d4a32
cmp byte [0x6e676a], 0
jne 0x5d4780
mov word [edi + 0x10], 0xe0
mov dword [0x7af054], 2
mov ecx, 0x6e6ed0
test ecx, ecx
je 0x5d476c
mov eax, 0x6e6ed0
call fcn.00408c54
mov dword [0x7af04c], eax
jmp 0x5d4774
xor edx, edx
mov dword [0x7af04c], edx
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
inc byte [0x6e676a]
mov ecx, dword [ebp - 0x254]
mov edx, dword [0x7af014]
mov eax, dword [ecx + 0x10]
push eax
push 0x7af04c
push edx
push pe_nt_image_headers32
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x28]
mov word [edi + 0x10], 0xf8
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
add esp, 0x14
mov eax, dword [ecx + 0x7c]
mov ecx, dword [edx + 0x78]
mov edx, 1
add ecx, ecx
add eax, ecx
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x27c]
call fcn.00408cc8
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x3c]
inc dword [edi + 0x1c]
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x30], 2
mov eax, dword [ebp - 0x278]
mov edx, dword [eax]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0
je 0x5d480b
mov ecx, dword [ebp - 0x38]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x3c], 0
je 0x5d481f
mov eax, dword [ebp - 0x3c]
call fcn.00408920
mov word [edi + 0x10], 0xec
cmp byte [0x6e676b], 0
jne 0x5d48a8
mov word [edi + 0x10], 0x110
mov eax, str.text
call fcn.00408c54
mov dword [ebp - 0x40], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 0x40]
lea edx, [ebp - 0x44]
call fcn.0046a988
lea ecx, [ebp - 0x44]
inc dword [edi + 0x1c]
mov dword [ebp - 0x280], ecx
mov eax, dword [ebp - 0x280]
mov edx, dword [eax]
mov dword [0x7af058], edx
cmp dword [0x7af058], 0
je 0x5d487a
mov ecx, dword [0x7af058]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x44], 0
je 0x5d488e
mov eax, dword [ebp - 0x44]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x40], 0
je 0x5d489f
mov eax, dword [ebp - 0x40]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e676b]
mov edx, dword [ebp - 0x254]
lea eax, [ebp - 0x38]
mov ecx, dword [edx + 0x10]
mov edx, dword [0x7af058]
push ecx
push eax
push edx
push pe_nt_image_headers32
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x28]
add esp, 0x14
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x97], 0
je 0x5d4a17
cmp bx, 0x5b
jne 0x5d4992
mov eax, dword [ebp - 0x254]
mov edx, 0x6e6ee0
add eax, 0x98
test edx, edx
mov dword [ebp - 0x284], eax
je 0x5d4a17
mov ecx, dword [ebp - 0x284]
cmp dword [ecx], 0
jne 0x5d491e
xor eax, eax
jmp 0x5d4973
mov edx, dword [ebp - 0x284]
mov ecx, dword [edx]
cmp dword [ecx], 0
jne 0x5d4968
mov eax, dword [ebp - 0x284]
mov edx, dword [eax]
mov dword [ebp - 0x288], edx
cmp dword [ebp - 0x288], 0
jne 0x5d4946
xor eax, eax
jmp 0x5d4973
mov edx, dword [ebp - 0x288]
cmp dword [edx + 4], 0
je 0x5d495d
mov ecx, dword [ebp - 0x288]
mov eax, dword [ecx + 4]
jmp 0x5d4973
mov eax, dword [ebp - 0x288]
add eax, 8
jmp 0x5d4973
mov eax, dword [ebp - 0x284]
call fcn.0040a360
mov edx, 0x6e6ee0
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx]
call fcn.00408ec4
mov edx, dword [ebp - 0x284]
mov dword [edx], eax
jmp 0x5d4a17
mov esi, dword [ebp - 0x254]
add esi, 0x98
mov word [ebp - 0x28a], bx
cmp dword [esi], 0
je 0x5d49f1
mov eax, dword [esi]
cmp dword [eax], 0
jne 0x5d49e8
mov edx, dword [esi]
mov dword [ebp - 0x290], edx
cmp dword [ebp - 0x290], 0
jne 0x5d49c6
xor ecx, ecx
jmp 0x5d49f1
mov eax, dword [ebp - 0x290]
cmp dword [eax + 4], 0
je 0x5d49dd
mov edx, dword [ebp - 0x290]
mov ecx, dword [edx + 4]
jmp 0x5d49f1
mov ecx, dword [ebp - 0x290]
add ecx, 8
jmp 0x5d49f1
mov eax, esi
call fcn.0040a360
mov ecx, eax
mov ax, word [ebp - 0x28a]
lea edx, [ebp - 0x294]
mov word [ebp - 0x294], ax
mov word [ebp - 0x292], 0
mov eax, dword [esi]
call fcn.00408ec4
mov dword [esi], eax
dec dword [edi + 0x1c]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0
jmp 0x5d4b51
cmp byte [0x6e676c], 0
jne 0x5d4a79
mov word [edi + 0x10], 0x134
mov dword [0x7af064], 2
mov ecx, 0x6e6892
test ecx, ecx
je 0x5d4a65
mov eax, 0x6e6892
call fcn.00408c54
mov dword [0x7af05c], eax
jmp 0x5d4a6d
xor edx, edx
mov dword [0x7af05c], edx
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
inc byte [0x6e676c]
mov ecx, dword [ebp - 0x254]
mov edx, dword [0x7af014]
mov eax, dword [ecx + 0x10]
push eax
push 0x7af05c
push edx
push pe_nt_image_headers32
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x28]
add esp, 0x14
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x97], 0
je 0x5d4b51
mov eax, dword [ebp - 0x254]
mov edx, 0x6e6ee6
add eax, 0x98
test edx, edx
mov dword [ebp - 0x298], eax
je 0x5d4b51
mov ecx, dword [ebp - 0x298]
cmp dword [ecx], 0
jne 0x5d4ae2
xor eax, eax
jmp 0x5d4b37
mov edx, dword [ebp - 0x298]
mov ecx, dword [edx]
cmp dword [ecx], 0
jne 0x5d4b2c
mov eax, dword [ebp - 0x298]
mov edx, dword [eax]
mov dword [ebp - 0x29c], edx
cmp dword [ebp - 0x29c], 0
jne 0x5d4b0a
xor eax, eax
jmp 0x5d4b37
mov edx, dword [ebp - 0x29c]
cmp dword [edx + 4], 0
je 0x5d4b21
mov ecx, dword [ebp - 0x29c]
mov eax, dword [ecx + 4]
jmp 0x5d4b37
mov eax, dword [ebp - 0x29c]
add eax, 8
jmp 0x5d4b37
mov eax, dword [ebp - 0x298]
call fcn.0040a360
mov edx, 0x6e6ee6
mov ecx, dword [ebp - 0x298]
mov eax, dword [ecx]
call fcn.00408ec4
mov edx, dword [ebp - 0x298]
mov dword [edx], eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0x5b
jne 0x5d4b73
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x97], 0
jne 0x5d41e8
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0xac], 0xffffffff
jne 0x5d41e8
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax]
pop ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x10]
mov edx, dword [edi]
mov dword fs:[0], edx
jmp 0x5d9dcc
mov si, 0x5d
mov byte [ebp - 0x29d], 1
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x74]
mov dword [ecx + 0x90], edx
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov dword [ebp - 0x2a4], edx
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x78]
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2], 0
jne 0x5d4c3e
cmp dword [0x7c01b4], 0
je 0x5d4c29
mov eax, dword [0x7c01b4]
jmp 0x5d4c2e
mov eax, dword [0x7c01b0]
call fcn.0066883c
jmp 0x5d4c3e
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
mov ax, word [ecx + eax*2]
cmp ax, 0x20
je 0x5d4c64
cmp ax, 9
je 0x5d4c64
xor eax, eax
jmp 0x5d4c69
mov eax, 1
test al, al
jne 0x5d4c35
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0
jne 0x5d4ca0
cmp dword [0x7c01b4], 0
je 0x5d4c96
mov eax, dword [0x7c01b4]
jmp 0x5d4c9b
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x7c]
mov edx, dword [eax + 0x78]
add edx, edx
add ecx, edx
mov dword [ebp - 0x2a8], ecx
jmp 0x5d4cc7
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x78]
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2], 0
je 0x5d4d27
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
mov ax, word [edx + ecx*2]
cmp ax, 0x20
je 0x5d4d06
cmp ax, 9
je 0x5d4d06
xor ecx, ecx
jmp 0x5d4d0b
mov ecx, 1
test cl, cl
jne 0x5d4d27
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp si, word [eax + edx*2]
jne 0x5d4cbe
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x7c]
mov edx, dword [eax + 0x78]
add edx, edx
add ecx, edx
cmp ecx, dword [ebp - 0x2a8]
jne 0x5d4d5f
cmp dword [0x7c01b4], 0
je 0x5d4d55
mov eax, dword [0x7c01b4]
jmp 0x5d4d5a
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov word [edi + 0x10], 0x140
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], edx
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x7c]
mov ecx, dword [edx + 0x78]
add ecx, ecx
add eax, ecx
sub eax, dword [ebp - 0x2a8]
sar eax, 1
jns 0x5d4d94
adc eax, 0
mov dword [ebp - 0x2b0], eax
mov edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2ac]
call fcn.00408cc8
mov dword [ebp - 0x2c], eax
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x14c
lea eax, [ebp - 0x2c]
call fcn.0040a8c4
mov word [edi + 0x10], 0x158
mov dword [ebp - 0x48], 2
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 0
je 0x5d4ddd
mov ecx, dword [ebp - 0x50]
inc dword [ecx]
inc dword [edi + 0x1c]
lea ecx, [ebp - 0x50]
mov word [edi + 0x10], 0x164
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
mov eax, dword [0x7af014]
push edx
push ecx
push eax
push pe_nt_image_headers32
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x28]
add esp, 0x14
dec dword [edi + 0x1c]
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x14c
cmp byte [0x6e676e], 0
jne 0x5d4e4c
mov word [edi + 0x10], 0x170
mov eax, 0x7af068
call fcn.00436e54
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
inc byte [0x6e676e]
cmp byte [0x6e676d], 0
jne 0x5d53f0
mov byte [0x6e676d], 1
mov word [edi + 0x10], 0x17c
mov eax, 0x6e6eee
call fcn.00408c54
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x54]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2b8], 1
lea ecx, [ebp - 0x2b8]
push ecx
mov eax, dword [ebp - 0x2b4]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2b4]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x54], 0
je 0x5d4ebe
mov eax, dword [ebp - 0x54]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x194
mov eax, 0x6e6ef4
call fcn.00408c54
mov dword [ebp - 0x58], eax
lea edx, [ebp - 0x58]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2bc], edx
mov dword [ebp - 0x2c0], 4
lea ecx, [ebp - 0x2c0]
push ecx
mov eax, dword [ebp - 0x2bc]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2bc]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x58], 0
je 0x5d4f22
mov eax, dword [ebp - 0x58]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x1ac
mov eax, str.endif
call fcn.00408c54
mov dword [ebp - 0x5c], eax
lea edx, [ebp - 0x5c]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2c4], edx
mov dword [ebp - 0x2c8], 5
lea ecx, [ebp - 0x2c8]
push ecx
mov eax, dword [ebp - 0x2c4]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2c4]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x5c], 0
je 0x5d4f86
mov eax, dword [ebp - 0x5c]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x1c4
mov eax, str.endignore
call fcn.00408c54
mov dword [ebp - 0x60], eax
lea edx, [ebp - 0x60]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2d0], 6
lea ecx, [ebp - 0x2d0]
push ecx
mov eax, dword [ebp - 0x2cc]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2cc]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x60], 0
je 0x5d4fea
mov eax, dword [ebp - 0x60]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x1dc
mov eax, str.else
call fcn.00408c54
mov dword [ebp - 0x64], eax
lea edx, [ebp - 0x64]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x2d8], 2
lea ecx, [ebp - 0x2d8]
push ecx
mov eax, dword [ebp - 0x2d4]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2d4]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x64], 0
je 0x5d504e
mov eax, dword [ebp - 0x64]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x1f4
mov eax, str.elsif
call fcn.00408c54
mov dword [ebp - 0x68], eax
lea edx, [ebp - 0x68]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2dc], edx
mov dword [ebp - 0x2e0], 3
lea ecx, [ebp - 0x2e0]
push ecx
mov eax, dword [ebp - 0x2dc]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2dc]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x68], 0
je 0x5d50b2
mov eax, dword [ebp - 0x68]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x20c
mov eax, 0x6e6f38
call fcn.00408c54
mov dword [ebp - 0x6c], eax
lea edx, [ebp - 0x6c]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x2e8], 7
lea ecx, [ebp - 0x2e8]
push ecx
mov eax, dword [ebp - 0x2e4]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2e4]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x6c], 0
je 0x5d5116
mov eax, dword [ebp - 0x6c]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x224
mov eax, 0x6e6f40
call fcn.00408c54
mov dword [ebp - 0x70], eax
lea edx, [ebp - 0x70]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x2f0], 8
lea ecx, [ebp - 0x2f0]
push ecx
mov eax, dword [ebp - 0x2ec]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2ec]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x70], 0
je 0x5d517a
mov eax, dword [ebp - 0x70]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x23c
mov eax, str.endmacro
call fcn.00408c54
mov dword [ebp - 0x74], eax
lea edx, [ebp - 0x74]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2f4], edx
mov dword [ebp - 0x2f8], 9
lea ecx, [ebp - 0x2f8]
push ecx
mov eax, dword [ebp - 0x2f4]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2f4]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x74], 0
je 0x5d51de
mov eax, dword [ebp - 0x74]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x254
mov eax, str.macropop
call fcn.00408c54
mov dword [ebp - 0x78], eax
lea edx, [ebp - 0x78]
inc dword [edi + 0x1c]
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x300], 0xa
lea ecx, [ebp - 0x300]
push ecx
mov eax, dword [ebp - 0x2fc]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x2fc]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x78], 0
je 0x5d5242
mov eax, dword [ebp - 0x78]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x26c
mov eax, str.erasemacro
call fcn.00408c54
mov dword [ebp - 0x7c], eax
lea edx, [ebp - 0x7c]
inc dword [edi + 0x1c]
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x308], 0xb
lea ecx, [ebp - 0x308]
push ecx
mov eax, dword [ebp - 0x304]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x304]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x7c], 0
je 0x5d52a6
mov eax, dword [ebp - 0x7c]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x284
mov eax, str.jump
call fcn.00408c54
mov dword [ebp - 0x80], eax
lea edx, [ebp - 0x80]
inc dword [edi + 0x1c]
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x310], 0xc
lea ecx, [ebp - 0x310]
push ecx
mov eax, dword [ebp - 0x30c]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x30c]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x80], 0
je 0x5d530a
mov eax, dword [ebp - 0x80]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x29c
mov eax, 0x6e6f90
call fcn.00408c54
mov dword [ebp - 0x84], eax
lea edx, [ebp - 0x84]
inc dword [edi + 0x1c]
mov dword [ebp - 0x314], edx
mov dword [ebp - 0x318], 0xd
lea ecx, [ebp - 0x318]
push ecx
mov eax, dword [ebp - 0x314]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x314]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x84], 0
je 0x5d537a
mov eax, dword [ebp - 0x84]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x2b4
mov eax, 0x6e6f9a
call fcn.00408c54
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x88]
inc dword [edi + 0x1c]
mov dword [ebp - 0x31c], edx
mov dword [ebp - 0x320], 0xe
lea ecx, [ebp - 0x320]
push ecx
mov eax, dword [ebp - 0x31c]
call fcn.00436d10
mov ecx, eax
mov eax, 0x7af068
mov edx, dword [ebp - 0x31c]
call fcn.00436e8c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x88], 0
je 0x5d53ea
mov eax, dword [ebp - 0x88]
call fcn.00408920
mov word [edi + 0x10], 0x14c
lea eax, [ebp - 0x2c]
call fcn.00436d10
mov ecx, eax
lea edx, [ebp - 0x2c]
mov eax, 0x7af068
call fcn.0043844c
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 0
jne 0x5d541a
xor edx, edx
jmp 0x5d5423
mov edx, dword [ebp - 0x328]
add edx, 0xc
mov dword [ebp - 0x324], edx
mov word [edi + 0x10], 0x14c
mov eax, dword [ebp - 0x254]
cmp byte [eax + 0x95], 0
je 0x5d5455
cmp dword [ebp - 0x324], 0
je 0x5d5451
mov ecx, dword [ebp - 0x324]
mov bl, byte [ecx]
jmp 0x5d5457
xor ebx, ebx
jmp 0x5d5457
xor ebx, ebx
cmp bl, 8
jne 0x5d549a
mov eax, dword [ebp - 0x254]
add eax, 0x9c
mov dword [ebp - 0x32c], eax
mov edx, dword [ebp - 0x32c]
cmp dword [edx], 0
je 0x5d549a
mov ecx, dword [ebp - 0x32c]
mov eax, dword [ecx]
call fcn.00408920
mov edx, dword [ebp - 0x32c]
xor ecx, ecx
mov dword [edx], ecx
jmp 0x5d549a
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
mov ax, word [edx + ecx*2]
cmp ax, 0x20
je 0x5d54c0
cmp ax, 9
je 0x5d54c0
xor ecx, ecx
jmp 0x5d54c5
mov ecx, 1
test cl, cl
jne 0x5d5491
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp si, word [eax + edx*2]
jne 0x5d8d39
mov byte [ebp - 0x32d], 0
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x2cc
xor edx, edx
mov dword [ebp - 0x94], edx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x2d8
cmp byte [ebp - 0x29d], 0
je 0x5d5c08
mov ecx, dword [ebp - 0x254]
cmp dword [ecx + 0xac], 0xffffffff
jne 0x5d5c08
cmp bl, 9
jne 0x5d578d
mov eax, dword [ebp - 0x254]
cmp byte [eax + 0x97], 0
jne 0x5d555b
cmp dword [0x7c01b4], 0
je 0x5d5551
mov eax, dword [0x7c01b4]
jmp 0x5d5556
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov edx, dword [ebp - 0x254]
mov byte [edx + 0x97], 0
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x94], 2
jl 0x5d562f
mov word [edi + 0x10], 0x2e4
lea ecx, [ebp - 0xb0]
mov edx, dword [ebp - 0x254]
add edx, 0x9c
mov eax, str.macro_:
call fcn.0040b19c
lea eax, [ebp - 0xb0]
inc dword [edi + 0x1c]
lea ecx, [ebp - 0xb4]
mov edx, 0x6e6bcc
call fcn.004016d4
lea eax, [ebp - 0xb4]
inc dword [edi + 0x1c]
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp - 0x254]
add edx, 0x98
call fcn.00401834
lea eax, [ebp - 0xb8]
inc dword [edi + 0x1c]
call fcn.005beef8
dec dword [edi + 0x1c]
cmp dword [ebp - 0xb8], 0
je 0x5d55fb
mov eax, dword [ebp - 0xb8]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
dec dword [edi + 0x1c]
cmp dword [ebp - 0xb4], 0
je 0x5d5618
mov eax, dword [ebp - 0xb4]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0xb0], 0
je 0x5d562f
mov eax, dword [ebp - 0xb0]
call fcn.00408920
mov edx, dword [ebp - 0x254]
mov ecx, str._macropop_
add edx, 0x98
test ecx, ecx
mov dword [ebp - 0x334], edx
je 0x5d56ce
mov eax, dword [ebp - 0x334]
cmp dword [eax], 0
jne 0x5d565d
xor edx, edx
jmp 0x5d56b4
mov ecx, dword [ebp - 0x334]
mov eax, dword [ecx]
cmp dword [eax], 0
jne 0x5d56a7
mov edx, dword [ebp - 0x334]
mov ecx, dword [edx]
mov dword [ebp - 0x338], ecx
cmp dword [ebp - 0x338], 0
jne 0x5d5685
xor edx, edx
jmp 0x5d56b4
mov eax, dword [ebp - 0x338]
cmp dword [eax + 4], 0
je 0x5d569c
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx + 4]
jmp 0x5d56b4
mov edx, dword [ebp - 0x338]
add edx, 8
jmp 0x5d56b4
mov eax, dword [ebp - 0x334]
call fcn.0040a360
mov edx, eax
mov edx, str._macropop_
mov eax, dword [ebp - 0x334]
mov eax, dword [eax]
call fcn.00408ec4
mov edx, dword [ebp - 0x334]
mov dword [edx], eax
mov word [edi + 0x10], 0x314
mov ecx, dword [ebp - 0x254]
add ecx, 0x98
mov dword [ebp - 0x33c], ecx
mov dword [ebp - 0xa4], 2
mov eax, dword [ebp - 0x33c]
mov edx, dword [eax]
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0xac], 0
je 0x5d570f
mov ecx, dword [ebp - 0xac]
inc dword [ecx]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x320
mov ecx, dword [ebp - 0x254]
mov ecx, dword [ecx + 0x14]
push ecx
lea ecx, [ebp - 0xac]
push ecx
push 0
mov edx, dword [ebp - 0x254]
add edx, 0x9c
cmp dword [edx], 0
je 0x5d5756
mov eax, dword [edx]
test eax, eax
jne 0x5d5746
xor edx, edx
jmp 0x5d575c
cmp dword [eax + 4], 0
je 0x5d5751
mov edx, dword [eax + 4]
jmp 0x5d575c
lea edx, [eax + 8]
jmp 0x5d575c
mov edx, dword [0x6a9384]
push edx
push pe_nt_image_headers32
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 0x14]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
add esp, 0x18
dec dword [edi + 0x1c]
lea eax, [ebp - 0xac]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x2d8
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x97], 0
je 0x5d5ac6
test si, si
je 0x5d58d5
mov ebx, dword [ebp - 0x254]
mov word [edi + 0x10], 0x32c
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x2a4]
add ecx, ecx
add ebx, 0x98
mov edx, dword [eax + 0x7c]
add edx, ecx
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
sub edx, dword [ebp - 0x2a4]
inc edx
mov dword [ebp - 0x348], edx
mov edx, dword [ebp - 0x348]
mov eax, dword [ebp - 0x344]
call fcn.00408cc8
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0xbc]
inc dword [edi + 0x1c]
mov dword [ebp - 0x340], ecx
mov eax, dword [ebp - 0x340]
cmp dword [eax], 0
je 0x5d58b3
cmp dword [ebx], 0
jne 0x5d5828
xor edx, edx
jmp 0x5d586f
mov ecx, dword [ebx]
cmp dword [ecx], 0
jne 0x5d5866
mov eax, dword [ebx]
mov dword [ebp - 0x34c], eax
cmp dword [ebp - 0x34c], 0
jne 0x5d5844
xor edx, edx
jmp 0x5d586f
mov ecx, dword [ebp - 0x34c]
cmp dword [ecx + 4], 0
je 0x5d585b
mov eax, dword [ebp - 0x34c]
mov edx, dword [eax + 4]
jmp 0x5d586f
mov edx, dword [ebp - 0x34c]
add edx, 8
jmp 0x5d586f
mov eax, ebx
call fcn.0040a360
mov edx, eax
mov eax, dword [ebp - 0x340]
mov ecx, dword [eax]
mov dword [ebp - 0x350], ecx
cmp dword [ebp - 0x350], 0
jne 0x5d588a
xor edx, edx
jmp 0x5d58aa
mov eax, dword [ebp - 0x350]
cmp dword [eax + 4], 0
je 0x5d58a1
mov ecx, dword [ebp - 0x350]
mov edx, dword [ecx + 4]
jmp 0x5d58aa
mov edx, dword [ebp - 0x350]
add edx, 8
mov eax, dword [ebx]
call fcn.00408ec4
mov dword [ebx], eax
dec dword [edi + 0x1c]
cmp dword [ebp - 0xbc], 0
je 0x5d58ca
mov eax, dword [ebp - 0xbc]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
jmp 0x5d5a75
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
sub ecx, dword [ebp - 0x2a4]
dec ecx
jl 0x5d5a75
mov ebx, dword [ebp - 0x254]
mov word [edi + 0x10], 0x344
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x2a4]
add ecx, ecx
add ebx, 0x98
mov edx, dword [eax + 0x7c]
add edx, ecx
add edx, 2
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
sub edx, dword [ebp - 0x2a4]
dec edx
mov dword [ebp - 0x35c], edx
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x358]
call fcn.00408cc8
mov dword [ebp - 0xc0], eax
lea edx, [ebp - 0xc0]
inc dword [edi + 0x1c]
lea ecx, [ebp - 0xc4]
mov eax, 0x6e6ee2
call fcn.0040b19c
lea eax, [ebp - 0xc4]
inc dword [edi + 0x1c]
lea ecx, [ebp - 0xc8]
mov edx, 0x6e6cd8
call fcn.004016d4
lea eax, [ebp - 0xc8]
inc dword [edi + 0x1c]
mov dword [ebp - 0x354], eax
mov edx, dword [ebp - 0x354]
cmp dword [edx], 0
je 0x5d5a2a
cmp dword [ebx], 0
jne 0x5d599f
xor ecx, ecx
jmp 0x5d59e6
mov eax, dword [ebx]
cmp dword [eax], 0
jne 0x5d59dd
mov edx, dword [ebx]
mov dword [ebp - 0x360], edx
cmp dword [ebp - 0x360], 0
jne 0x5d59bb
xor ecx, ecx
jmp 0x5d59e6
mov eax, dword [ebp - 0x360]
cmp dword [eax + 4], 0
je 0x5d59d2
mov edx, dword [ebp - 0x360]
mov ecx, dword [edx + 4]
jmp 0x5d59e6
mov ecx, dword [ebp - 0x360]
add ecx, 8
jmp 0x5d59e6
mov eax, ebx
call fcn.0040a360
mov ecx, eax
mov eax, dword [ebp - 0x354]
mov edx, dword [eax]
mov dword [ebp - 0x364], edx
cmp dword [ebp - 0x364], 0
jne 0x5d5a01
xor edx, edx
jmp 0x5d5a21
mov eax, dword [ebp - 0x364]
cmp dword [eax + 4], 0
je 0x5d5a18
mov ecx, dword [ebp - 0x364]
mov edx, dword [ecx + 4]
jmp 0x5d5a21
mov edx, dword [ebp - 0x364]
add edx, 8
mov eax, dword [ebx]
call fcn.00408ec4
mov dword [ebx], eax
dec dword [edi + 0x1c]
cmp dword [ebp - 0xc8], 0
je 0x5d5a41
mov eax, dword [ebp - 0xc8]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
dec dword [edi + 0x1c]
cmp dword [ebp - 0xc4], 0
je 0x5d5a5e
mov eax, dword [ebp - 0xc4]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0xc0], 0
je 0x5d5a75
mov eax, dword [ebp - 0xc0]
call fcn.00408920
test si, si
jne 0x5d5a9d
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x74]
mov ecx, dword [ebp - 0x254]
xor eax, eax
mov dword [ecx + 0x78], eax
mov edx, dword [ebp - 0x254]
mov byte [edx + 0x84], 0
jmp 0x5d5aa6
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x78]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d9d9f
mov eax, dword [ebp - 0x94]
call fcn.00408920
jmp 0x5d9d9f
mov word [edi + 0x10], 0x374
xor edx, edx
mov dword [ebp - 0x98], edx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x380
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x14]
push eax
lea edx, [ebp - 0xa0]
push edx
push 0
cmp dword [ebp - 0x2c], 0
je 0x5d5b2e
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x368], ecx
cmp dword [ebp - 0x368], 0
jne 0x5d5b0c
xor eax, eax
jmp 0x5d5b33
mov edx, dword [ebp - 0x368]
cmp dword [edx + 4], 0
je 0x5d5b23
mov ecx, dword [ebp - 0x368]
mov eax, dword [ecx + 4]
jmp 0x5d5b33
mov eax, dword [ebp - 0x368]
add eax, 8
jmp 0x5d5b33
mov eax, dword [0x6a9384]
push eax
push 0
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x14]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
test eax, eax
setge dl
and edx, 1
mov byte [ebp - 0x32d], dl
cmp byte [ebp - 0x32d], 0
je 0x5d5b72
cmp dword [ebp - 0x98], 0
setne cl
and ecx, 1
mov byte [ebp - 0x32d], cl
cmp byte [ebp - 0x32d], 0
je 0x5d5bef
mov word [edi + 0x10], 0x38c
lea edx, [ebp - 0xa0]
lea eax, [ebp - 0xcc]
call fcn.0040a218
inc dword [edi + 0x1c]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x36c]
cmp dword [ecx], 0
je 0x5d5bb0
mov eax, dword [ebp - 0x36c]
mov edx, dword [eax]
inc dword [edx]
cmp dword [ebp - 0x94], 0
je 0x5d5bc4
mov eax, dword [ebp - 0x94]
call fcn.00408920
mov edx, dword [ebp - 0x36c]
mov ecx, dword [edx]
mov dword [ebp - 0x94], ecx
dec dword [edi + 0x1c]
cmp dword [ebp - 0xcc], 0
je 0x5d5be9
mov eax, dword [ebp - 0xcc]
call fcn.00408920
mov word [edi + 0x10], 0x380
dec dword [edi + 0x1c]
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x2d8
test bl, bl
jne 0x5d5cdc
cmp byte [ebp - 0x32d], 0
jne 0x5d5cdc
test si, si
jne 0x5d5c45
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x74]
mov eax, dword [ebp - 0x254]
xor edx, edx
mov dword [eax + 0x78], edx
mov ecx, dword [ebp - 0x254]
mov byte [ecx + 0x84], 0
jmp 0x5d5c4e
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
cmp byte [ebp - 0x29d], 0
je 0x5d5cbc
mov edx, dword [ebp - 0x254]
cmp dword [edx + 0xac], 0xffffffff
jne 0x5d5cbc
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx]
pop ecx
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d5c96
mov eax, dword [ebp - 0x94]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
dec dword [edi + 0x1c]
cmp dword [ebp - 0x2c], 0
je 0x5d5cad
mov eax, dword [ebp - 0x2c]
call fcn.00408920
pop eax
mov edx, dword [edi]
mov dword fs:[0], edx
jmp 0x5d9dcc
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d9d9f
mov eax, dword [ebp - 0x94]
call fcn.00408920
jmp 0x5d9d9f
cmp bl, 1
je 0x5d5cea
cmp bl, 4
jne 0x5d62e6
mov edx, dword [ebp - 0x254]
inc dword [edx + 0xb0]
mov byte [ebp - 0x36d], 0
mov ecx, dword [ebp - 0x254]
add ecx, 0xd4
mov dword [ebp - 0x374], ecx
mov eax, dword [ebp - 0x374]
mov ecx, dword [ebp - 0x374]
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x28]
je 0x5d5e23
mov eax, dword [ebp - 0x374]
add eax, 0x10
mov dword [ebp - 0x378], eax
mov edx, dword [ebp - 0x378]
mov ecx, dword [edx]
mov dword [ebp - 0x624], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x620], ecx
mov eax, dword [ebp - 0x378]
mov edx, dword [eax + 8]
mov dword [ebp - 0x61c], edx
mov ecx, dword [ebp - 0x378]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x618], eax
mov edx, dword [ebp - 0x378]
mov ecx, dword [edx + 0xc]
inc dword [edx + 0xc]
cmp ecx, 0x1f
jne 0x5d5d91
mov eax, dword [ebp - 0x378]
xor edx, edx
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x378]
add dword [ecx + 8], 4
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x630], eax
mov edx, dword [ebp - 0x61c]
mov dword [ebp - 0x62c], edx
mov ecx, dword [ebp - 0x618]
mov dword [ebp - 0x628], ecx
mov ecx, dword [ebp - 0x628]
mov eax, 1
shl eax, cl
mov dword [ebp - 0x37c], eax
mov edx, dword [ebp - 0x62c]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x388], eax
mov edx, dword [ebp - 0x37c]
mov dword [ebp - 0x384], edx
cmp byte [ebp - 0x36d], 0
je 0x5d5e11
mov ecx, dword [ebp - 0x388]
mov eax, dword [ebp - 0x384]
or dword [ecx], eax
jmp 0x5d5e77
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x388]
not edx
and dword [ecx], edx
jmp 0x5d5e77
mov al, byte [ebp - 0x36d]
push eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x374]
add edx, 0x10
mov dword [ebp - 0x38c], edx
mov ecx, dword [ebp - 0x38c]
mov eax, dword [ecx]
mov dword [esp], eax
mov eax, dword [ecx + 4]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x38c]
mov ecx, dword [edx + 8]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x38c]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xc], edx
mov ecx, dword [ebp - 0x374]
push ecx
call fcn.005cbd00
add esp, 0x18
mov eax, dword [ebp - 0x254]
add eax, 0xac
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x254]
add eax, 0xb4
mov edx, dword [eax + 8]
cmp edx, dword [eax + 0x18]
je 0x5d5ec6
mov ecx, dword [eax + 8]
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0x394]
mov dword [ebp - 0x398], edx
mov ecx, dword [ebp - 0x390]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x398]
mov dword [ecx], edx
add dword [eax + 8], 4
jmp 0x5d5eda
mov edx, dword [ebp - 0x390]
push edx
mov ecx, dword [eax + 8]
push ecx
push eax
call fcn.00426590
add esp, 0xc
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0xac], 0xffffffff
jne 0x5d62e6
mov word [edi + 0x10], 0x3bc
xor eax, eax
xor edx, edx
mov dword [ebp - 0xd0], eax
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x3c8
mov word [edi + 0x10], 0x3d4
mov dword [ebp - 0xdc], edx
lea edx, [ebp - 0xd8]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x3c8
mov ecx, dword [ebp - 0x254]
cmp dword [0x7af024], 0
mov eax, dword [ecx + 0x10]
push eax
push edx
jne 0x5d5f39
xor ecx, ecx
jmp 0x5d5f42
mov ecx, dword [0x7af024]
add ecx, 0x3c
push ecx
cmp dword [0x7af024], 0
je 0x5d5f86
mov eax, dword [0x7af024]
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 0
jne 0x5d5f64
xor edx, edx
jmp 0x5d5f8c
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 4], 0
je 0x5d5f7b
mov edx, dword [ebp - 0x39c]
mov edx, dword [edx + 4]
jmp 0x5d5f8c
mov edx, dword [ebp - 0x39c]
add edx, 8
jmp 0x5d5f8c
mov edx, dword [0x6a9384]
push edx
push 0
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x3e0
add esp, 0x18
lea edx, [ebp - 0xd8]
lea eax, [ebp - 0xe0]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0xe0], 0
je 0x5d5fcc
mov edx, dword [ebp - 0xe0]
inc dword [edx]
cmp dword [ebp - 0xdc], 0
je 0x5d5fe0
mov eax, dword [ebp - 0xdc]
call fcn.00408920
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0xe0], 0
je 0x5d6003
mov eax, dword [ebp - 0xe0]
call fcn.00408920
mov word [edi + 0x10], 0x3c8
mov edx, 0x6e6884
test edx, edx
je 0x5d601c
cmp word [0x6e6884], 0
jne 0x5d6020
xor ecx, ecx
jmp 0x5d6025
mov ecx, 1
mov byte [ebp - 0x39d], cl
cmp dword [ebp - 0xdc], 0
jne 0x5d6041
cmp byte [ebp - 0x39d], 0
jne 0x5d6041
mov al, 1
jmp 0x5d60bc
cmp dword [ebp - 0xdc], 0
jne 0x5d6057
cmp byte [ebp - 0x39d], 0
je 0x5d6057
xor eax, eax
jmp 0x5d60bc
cmp dword [ebp - 0xdc], 0
je 0x5d606d
cmp byte [ebp - 0x39d], 0
jne 0x5d606d
xor eax, eax
jmp 0x5d60bc
push 0x6e6884
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x3a4], edx
cmp dword [ebp - 0x3a4], 0
jne 0x5d608b
xor ecx, ecx
jmp 0x5d60ab
mov eax, dword [ebp - 0x3a4]
cmp dword [eax + 4], 0
je 0x5d60a2
mov edx, dword [ebp - 0x3a4]
mov ecx, dword [edx + 4]
jmp 0x5d60ab
mov ecx, dword [ebp - 0x3a4]
add ecx, 8
push ecx
call fcn.005647a8
add esp, 8
test eax, eax
sete al
and eax, 1
test al, al
je 0x5d60da
cmp dword [0x7c01b4], 0
je 0x5d60d0
mov eax, dword [0x7c01b4]
jmp 0x5d60d5
mov eax, dword [0x7c01b0]
call fcn.0066883c
lea edx, [ebp - 0xd8]
lea eax, [ebp - 0xdc]
call fcn.0066a3dc
lea eax, [ebp - 0xd8]
call fcn.00406888
mov byte [ebp - 0x3a5], al
cmp bl, 4
jne 0x5d6116
xor edx, edx
mov dl, byte [ebp - 0x3a5]
cmp edx, 1
sbb ecx, ecx
neg ecx
mov byte [ebp - 0x3a5], cl
mov al, byte [ebp - 0x3a5]
mov byte [ebp - 0x3a6], al
mov edx, dword [ebp - 0x254]
add edx, 0xe4
mov dword [ebp - 0x3ac], edx
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ecx]
mov dword [ebp - 0x644], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x640], eax
mov edx, dword [ebp - 0x3ac]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x63c], ecx
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x638], edx
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x654], ecx
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x650], ecx
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x64c], eax
mov edx, dword [ebp - 0x638]
mov dword [ebp - 0x648], edx
mov ecx, dword [ebp - 0x648]
dec ecx
mov dword [ebp - 0x3b0], ecx
mov eax, dword [ebp - 0x3b0]
test eax, eax
jns 0x5d61b3
add eax, 0x1f
sar eax, 5
shl eax, 2
add dword [ebp - 0x64c], eax
mov edx, dword [ebp - 0x3b0]
and edx, 0x8000001f
jns 0x5d61d2
dec edx
or edx, 0xffffffe0
inc edx
mov dword [ebp - 0x3b0], edx
cmp dword [ebp - 0x3b0], 0
jge 0x5d61f9
mov ecx, dword [ebp - 0x3b0]
add ecx, 0x20
mov dword [ebp - 0x648], ecx
sub dword [ebp - 0x64c], 4
jmp 0x5d6205
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x648], eax
mov edx, dword [ebp - 0x654]
mov dword [ebp - 0x664], edx
mov edx, dword [ebp - 0x650]
mov dword [ebp - 0x660], edx
mov ecx, dword [ebp - 0x64c]
mov dword [ebp - 0x65c], ecx
mov eax, dword [ebp - 0x648]
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x658]
mov edx, 1
shl edx, cl
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x3b8], eax
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0x3c0], edx
mov ecx, dword [ebp - 0x3b4]
mov dword [ebp - 0x3bc], ecx
cmp byte [ebp - 0x3a6], 0
je 0x5d6285
mov eax, dword [ebp - 0x3c0]
mov edx, dword [ebp - 0x3bc]
or dword [eax], edx
jmp 0x5d6295
mov ecx, dword [ebp - 0x3bc]
mov eax, dword [ebp - 0x3c0]
not ecx
and dword [eax], ecx
cmp byte [ebp - 0x3a5], 0
jne 0x5d62b6
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0xb0]
mov dword [eax + 0xac], ecx
dec dword [edi + 0x1c]
cmp dword [ebp - 0xdc], 0
je 0x5d62cd
mov eax, dword [ebp - 0xdc]
call fcn.00408920
dec dword [edi + 0x1c]
lea eax, [ebp - 0xd8]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x2d8
cmp bl, 3
jne 0x5d69d1
mov ecx, dword [ebp - 0x254]
add ecx, 0xd4
mov dword [ebp - 0x3c4], ecx
mov eax, dword [ebp - 0x3c4]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x3c8], edx
mov ecx, dword [ebp - 0x3c4]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x3cc], eax
mov edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x66c], edx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x668], ecx
mov eax, dword [ebp - 0x3c4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x3d0], edx
mov ecx, dword [ebp - 0x3c4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x3d4], eax
mov edx, dword [ebp - 0x3d4]
mov dword [ebp - 0x67c], edx
mov ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x678], ecx
mov eax, dword [ebp - 0x67c]
cmp eax, dword [ebp - 0x66c]
jne 0x5d6389
mov edx, dword [ebp - 0x678]
cmp edx, dword [ebp - 0x668]
je 0x5d638d
xor ecx, ecx
jmp 0x5d6392
mov ecx, 1
test cl, cl
jne 0x5d69d1
mov eax, dword [ebp - 0x254]
add eax, 0xe4
mov dword [ebp - 0x3d8], eax
mov edx, dword [ebp - 0x3d8]
mov ecx, dword [edx]
mov dword [ebp - 0x694], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x690], ecx
mov eax, dword [ebp - 0x3d8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x68c], edx
mov ecx, dword [ebp - 0x3d8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x688], eax
mov edx, dword [ebp - 0x694]
mov dword [ebp - 0x6a4], edx
mov edx, dword [ebp - 0x690]
mov dword [ebp - 0x6a0], edx
mov ecx, dword [ebp - 0x68c]
mov dword [ebp - 0x69c], ecx
mov eax, dword [ebp - 0x688]
mov dword [ebp - 0x698], eax
mov edx, dword [ebp - 0x698]
dec edx
mov dword [ebp - 0x3dc], edx
mov ecx, dword [ebp - 0x3dc]
test ecx, ecx
jns 0x5d642a
add ecx, 0x1f
sar ecx, 5
shl ecx, 2
add dword [ebp - 0x69c], ecx
mov eax, dword [ebp - 0x3dc]
and eax, 0x8000001f
jns 0x5d6448
dec eax
or eax, 0xffffffe0
inc eax
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3dc], 0
jge 0x5d646f
mov edx, dword [ebp - 0x3dc]
add edx, 0x20
mov dword [ebp - 0x698], edx
sub dword [ebp - 0x69c], 4
jmp 0x5d647b
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x698], ecx
mov eax, dword [ebp - 0x6a4]
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x6a0]
mov dword [ebp - 0x6b0], eax
mov edx, dword [ebp - 0x69c]
mov dword [ebp - 0x6ac], edx
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 0x6a8], ecx
mov ecx, dword [ebp - 0x6a8]
mov eax, 1
shl eax, cl
mov dword [ebp - 0x3e0], eax
mov edx, dword [ebp - 0x6ac]
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3ec], eax
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x3e8], edx
mov ecx, dword [ebp - 0x3ec]
mov eax, dword [ecx]
and eax, dword [ebp - 0x3e8]
setne dl
and edx, 1
test dl, dl
je 0x5d6517
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0xb0]
mov dword [edx + 0xac], eax
jmp 0x5d69d1
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0xb0]
cmp eax, dword [edx + 0xac]
jne 0x5d69d1
mov word [edi + 0x10], 0x404
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xe4], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x410
mov word [edi + 0x10], 0x41c
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0xec]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x410
mov edx, dword [ebp - 0x254]
cmp dword [0x7af024], 0
mov ecx, dword [edx + 0x10]
push ecx
push eax
jne 0x5d6581
xor edx, edx
jmp 0x5d658a
mov edx, dword [0x7af024]
add edx, 0x3c
push edx
cmp dword [0x7af024], 0
je 0x5d65ce
mov eax, dword [0x7af024]
mov dword [ebp - 0x3f0], eax
cmp dword [ebp - 0x3f0], 0
jne 0x5d65ac
xor ecx, ecx
jmp 0x5d65d4
mov eax, dword [ebp - 0x3f0]
cmp dword [eax + 4], 0
je 0x5d65c3
mov edx, dword [ebp - 0x3f0]
mov ecx, dword [edx + 4]
jmp 0x5d65d4
mov ecx, dword [ebp - 0x3f0]
add ecx, 8
jmp 0x5d65d4
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x428
add esp, 0x18
lea edx, [ebp - 0xec]
lea eax, [ebp - 0x104]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x104], 0
je 0x5d6614
mov edx, dword [ebp - 0x104]
inc dword [edx]
cmp dword [ebp - 0xf0], 0
je 0x5d6628
mov eax, dword [ebp - 0xf0]
call fcn.00408920
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0xf0], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x104], 0
je 0x5d664b
mov eax, dword [ebp - 0x104]
call fcn.00408920
mov word [edi + 0x10], 0x410
mov word [edi + 0x10], 0x440
lea edx, [ebp - 0x100]
lea eax, [ebp - 0xf0]
call fcn.005d9dd4
inc dword [edi + 0x1c]
mov edx, 0x6e6884
mov word [edi + 0x10], 0x410
test edx, edx
je 0x5d6684
cmp word [0x6e6884], 0
jne 0x5d6688
xor ecx, ecx
jmp 0x5d668d
mov ecx, 1
mov byte [ebp - 0x3f1], cl
cmp dword [ebp - 0xf0], 0
jne 0x5d66a9
cmp byte [ebp - 0x3f1], 0
jne 0x5d66a9
mov al, 1
jmp 0x5d6724
cmp dword [ebp - 0xf0], 0
jne 0x5d66bf
cmp byte [ebp - 0x3f1], 0
je 0x5d66bf
xor eax, eax
jmp 0x5d6724
cmp dword [ebp - 0xf0], 0
je 0x5d66d5
cmp byte [ebp - 0x3f1], 0
jne 0x5d66d5
xor eax, eax
jmp 0x5d6724
push 0x6e6884
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
jne 0x5d66f3
xor ecx, ecx
jmp 0x5d6713
mov eax, dword [ebp - 0x3f8]
cmp dword [eax + 4], 0
je 0x5d670a
mov edx, dword [ebp - 0x3f8]
mov ecx, dword [edx + 4]
jmp 0x5d6713
mov ecx, dword [ebp - 0x3f8]
add ecx, 8
push ecx
call fcn.005647a8
add esp, 8
test eax, eax
sete al
and eax, 1
test al, al
je 0x5d6742
cmp dword [0x7c01b4], 0
je 0x5d6738
mov eax, dword [0x7c01b4]
jmp 0x5d673d
mov eax, dword [0x7c01b0]
call fcn.0066883c
lea edx, [ebp - 0xec]
lea eax, [ebp - 0xf0]
call fcn.0066a3dc
lea eax, [ebp - 0xec]
call fcn.00406888
mov byte [ebp - 0x3f9], al
cmp byte [ebp - 0x3f9], 0
je 0x5d68d9
mov edx, dword [ebp - 0x254]
add edx, 0xe4
mov dword [ebp - 0x400], edx
mov ecx, dword [ebp - 0x400]
mov eax, dword [ecx]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x6d0], eax
mov edx, dword [ebp - 0x400]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x6cc], ecx
mov eax, dword [ebp - 0x400]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x6c8], edx
mov ecx, dword [ebp - 0x6d4]
mov dword [ebp - 0x6e4], ecx
mov ecx, dword [ebp - 0x6d0]
mov dword [ebp - 0x6e0], ecx
mov eax, dword [ebp - 0x6cc]
mov dword [ebp - 0x6dc], eax
mov edx, dword [ebp - 0x6c8]
mov dword [ebp - 0x6d8], edx
mov ecx, dword [ebp - 0x6d8]
dec ecx
mov dword [ebp - 0x404], ecx
mov eax, dword [ebp - 0x404]
test eax, eax
jns 0x5d6802
add eax, 0x1f
sar eax, 5
shl eax, 2
add dword [ebp - 0x6dc], eax
mov edx, dword [ebp - 0x404]
and edx, 0x8000001f
jns 0x5d6821
dec edx
or edx, 0xffffffe0
inc edx
mov dword [ebp - 0x404], edx
cmp dword [ebp - 0x404], 0
jge 0x5d6848
mov ecx, dword [ebp - 0x404]
add ecx, 0x20
mov dword [ebp - 0x6d8], ecx
sub dword [ebp - 0x6dc], 4
jmp 0x5d6854
mov eax, dword [ebp - 0x404]
mov dword [ebp - 0x6d8], eax
mov edx, dword [ebp - 0x6e4]
mov dword [ebp - 0x6f4], edx
mov edx, dword [ebp - 0x6e0]
mov dword [ebp - 0x6f0], edx
mov ecx, dword [ebp - 0x6dc]
mov dword [ebp - 0x6ec], ecx
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6e8], eax
mov ecx, dword [ebp - 0x6e8]
mov edx, 1
shl edx, cl
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0x40c], eax
mov edx, dword [ebp - 0x40c]
mov dword [ebp - 0x414], edx
mov ecx, dword [ebp - 0x408]
mov dword [ebp - 0x410], ecx
mov eax, dword [ebp - 0x414]
mov edx, dword [ebp - 0x410]
or dword [eax], edx
mov ecx, dword [ebp - 0x254]
mov dword [ecx + 0xac], 0xffffffff
dec dword [edi + 0x1c]
cmp dword [ebp - 0xf8], 0
je 0x5d69a1
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x5d6947
mov ecx, dword [ebp - 0xf8]
add ecx, 0xfffffff4
mov dword [ebp - 0x418], ecx
mov eax, 0x6d8c60
cmp eax, dword [ebp - 0x418]
je 0x5d693e
mov edx, 0x6d8c60
cmp edx, dword [ebp - 0x418]
je 0x5d6937
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.006a5fa0
mov eax, dword [ebp - 0x418]
mov edx, dword [eax]
inc edx
jmp 0x5d6943
mov edx, 1
jmp 0x5d6943
mov edx, 1
test edx, edx
jne 0x5d69a1
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff4
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0xf8]
add ecx, 0xfffffff4
mov dword [ebp - 0x420], ecx
mov eax, dword [ebp - 0x420]
push eax
call fcn.0055ffa4
pop ecx
xor edx, edx
mov dword [ebp - 0x424], edx
lea eax, [ebp - 0x100]
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x428], eax
mov edx, dword [ebp - 0x428]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x6fc], ecx
dec dword [edi + 0x1c]
cmp dword [ebp - 0xf0], 0
je 0x5d69b8
mov eax, dword [ebp - 0xf0]
call fcn.00408920
dec dword [edi + 0x1c]
lea eax, [ebp - 0xec]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x2d8
cmp bl, 2
jne 0x5d6d88
mov ecx, dword [ebp - 0x254]
add ecx, 0xd4
mov dword [ebp - 0x42c], ecx
mov eax, dword [ebp - 0x42c]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x430], edx
mov ecx, dword [ebp - 0x42c]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x434], eax
mov edx, dword [ebp - 0x434]
mov dword [ebp - 0x70c], edx
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x708], ecx
mov eax, dword [ebp - 0x42c]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x438], edx
mov ecx, dword [ebp - 0x42c]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x43c], eax
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x71c], edx
mov ecx, dword [ebp - 0x438]
mov dword [ebp - 0x718], ecx
mov eax, dword [ebp - 0x71c]
cmp eax, dword [ebp - 0x70c]
jne 0x5d6a74
mov edx, dword [ebp - 0x718]
cmp edx, dword [ebp - 0x708]
je 0x5d6a78
xor ecx, ecx
jmp 0x5d6a7d
mov ecx, 1
test cl, cl
jne 0x5d6d88
mov eax, dword [ebp - 0x254]
add eax, 0xe4
mov dword [ebp - 0x440], eax
mov edx, dword [ebp - 0x440]
mov ecx, dword [edx]
mov dword [ebp - 0x734], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x730], ecx
mov eax, dword [ebp - 0x440]
mov edx, dword [eax + 8]
mov dword [ebp - 0x72c], edx
mov ecx, dword [ebp - 0x440]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x728], eax
mov edx, dword [ebp - 0x734]
mov dword [ebp - 0x744], edx
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x740], edx
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x73c], ecx
mov eax, dword [ebp - 0x728]
mov dword [ebp - 0x738], eax
mov edx, dword [ebp - 0x738]
dec edx
mov dword [ebp - 0x444], edx
mov ecx, dword [ebp - 0x444]
test ecx, ecx
jns 0x5d6b15
add ecx, 0x1f
sar ecx, 5
shl ecx, 2
add dword [ebp - 0x73c], ecx
mov eax, dword [ebp - 0x444]
and eax, 0x8000001f
jns 0x5d6b33
dec eax
or eax, 0xffffffe0
inc eax
mov dword [ebp - 0x444], eax
cmp dword [ebp - 0x444], 0
jge 0x5d6b5a
mov edx, dword [ebp - 0x444]
add edx, 0x20
mov dword [ebp - 0x738], edx
sub dword [ebp - 0x73c], 4
jmp 0x5d6b66
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x738], ecx
mov eax, dword [ebp - 0x744]
mov dword [ebp - 0x754], eax
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x750], eax
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x74c], edx
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x748], ecx
mov ecx, dword [ebp - 0x748]
mov eax, 1
shl eax, cl
mov dword [ebp - 0x448], eax
mov edx, dword [ebp - 0x74c]
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x454], eax
mov edx, dword [ebp - 0x448]
mov dword [ebp - 0x450], edx
mov ecx, dword [ebp - 0x454]
mov eax, dword [ecx]
and eax, dword [ebp - 0x450]
setne dl
and edx, 1
test dl, dl
je 0x5d6c02
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0xb0]
mov dword [edx + 0xac], eax
jmp 0x5d6d88
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0xb0]
cmp eax, dword [edx + 0xac]
jne 0x5d6d88
mov ecx, dword [ebp - 0x254]
add ecx, 0xe4
mov dword [ebp - 0x458], ecx
mov eax, dword [ebp - 0x458]
mov edx, dword [eax]
mov dword [ebp - 0x764], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x760], edx
mov ecx, dword [ebp - 0x458]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x75c], eax
mov edx, dword [ebp - 0x458]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x758], ecx
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x774], eax
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x770], eax
mov edx, dword [ebp - 0x75c]
mov dword [ebp - 0x76c], edx
mov ecx, dword [ebp - 0x758]
mov dword [ebp - 0x768], ecx
mov eax, dword [ebp - 0x768]
dec eax
mov dword [ebp - 0x45c], eax
mov edx, dword [ebp - 0x45c]
test edx, edx
jns 0x5d6cb1
add edx, 0x1f
sar edx, 5
shl edx, 2
add dword [ebp - 0x76c], edx
mov ecx, dword [ebp - 0x45c]
and ecx, 0x8000001f
jns 0x5d6cd0
dec ecx
or ecx, 0xffffffe0
inc ecx
mov dword [ebp - 0x45c], ecx
cmp dword [ebp - 0x45c], 0
jge 0x5d6cf7
mov eax, dword [ebp - 0x45c]
add eax, 0x20
mov dword [ebp - 0x768], eax
sub dword [ebp - 0x76c], 4
jmp 0x5d6d03
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0x768], edx
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x784], ecx
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x780], ecx
mov eax, dword [ebp - 0x76c]
mov dword [ebp - 0x77c], eax
mov edx, dword [ebp - 0x768]
mov dword [ebp - 0x778], edx
mov ecx, dword [ebp - 0x778]
mov eax, 1
shl eax, cl
mov dword [ebp - 0x460], eax
mov edx, dword [ebp - 0x77c]
mov dword [ebp - 0x464], edx
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x46c], ecx
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x468], eax
mov edx, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x468]
or dword [edx], ecx
mov eax, dword [ebp - 0x254]
mov dword [eax + 0xac], 0xffffffff
cmp bl, 5
je 0x5d6d96
cmp bl, 6
jne 0x5d6f64
mov edx, dword [ebp - 0x254]
add edx, 0xb4
mov dword [ebp - 0x470], edx
mov ecx, dword [ebp - 0x470]
mov edx, dword [ebp - 0x470]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 8]
sete cl
and ecx, 1
test cl, cl
jne 0x5d6e0a
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0xbc]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx - 4]
mov dword [eax + 0xac], ecx
mov edx, dword [ebp - 0x254]
add edx, 0xb4
mov dword [ebp - 0x474], edx
mov ecx, dword [ebp - 0x474]
sub dword [ecx + 8], 4
mov eax, dword [ebp - 0x474]
mov edx, dword [eax + 8]
mov dword [ebp - 0x478], edx
mov ecx, dword [ebp - 0x254]
add ecx, 0xd4
mov dword [ebp - 0x47c], ecx
mov eax, dword [ebp - 0x47c]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x480], edx
mov ecx, dword [ebp - 0x47c]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x484], eax
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0x78c], edx
mov ecx, dword [ebp - 0x480]
mov dword [ebp - 0x788], ecx
mov eax, dword [ebp - 0x47c]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x488], edx
mov ecx, dword [ebp - 0x47c]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x48c], eax
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x79c], edx
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x798], ecx
mov eax, dword [ebp - 0x79c]
cmp eax, dword [ebp - 0x78c]
jne 0x5d6ea4
mov edx, dword [ebp - 0x798]
cmp edx, dword [ebp - 0x788]
je 0x5d6ea8
xor ecx, ecx
jmp 0x5d6ead
mov ecx, 1
test cl, cl
jne 0x5d6eea
mov eax, dword [ebp - 0x254]
add eax, 0xe4
mov dword [ebp - 0x490], eax
mov edx, dword [ebp - 0x490]
mov ecx, dword [edx + 0xc]
add dword [edx + 0xc], 0xffffffff
test ecx, ecx
jne 0x5d6eea
mov eax, dword [ebp - 0x490]
mov dword [eax + 0xc], 0x1f
mov edx, dword [ebp - 0x490]
sub dword [edx + 8], 4
mov ecx, dword [ebp - 0x254]
dec dword [ecx + 0xb0]
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0xb0], 0
jge 0x5d6f13
mov edx, dword [ebp - 0x254]
xor ecx, ecx
mov dword [edx + 0xb0], ecx
test si, si
jne 0x5d6f3b
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x74]
mov edx, dword [ebp - 0x254]
xor ecx, ecx
mov dword [edx + 0x78], ecx
mov eax, dword [ebp - 0x254]
mov byte [eax + 0x84], 0
jmp 0x5d6f44
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d9d9f
mov eax, dword [ebp - 0x94]
call fcn.00408920
jmp 0x5d9d9f
cmp byte [ebp - 0x29d], 0
je 0x5d8ce0
mov edx, dword [ebp - 0x254]
cmp dword [edx + 0xac], 0xffffffff
jne 0x5d8ce0
cmp bl, 7
je 0x5d6f9e
cmp byte [ebp - 0x32d], 0
je 0x5d796c
test bl, bl
jne 0x5d796c
test si, si
je 0x5d6fac
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x78]
cmp byte [ebp - 0x32d], 0
jne 0x5d75d4
mov word [edi + 0x10], 0x464
xor eax, eax
xor edx, edx
mov dword [ebp - 0x108], eax
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x470
mov word [edi + 0x10], 0x47c
mov dword [ebp - 0x114], edx
lea edx, [ebp - 0x110]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x470
mov ecx, dword [ebp - 0x254]
cmp dword [0x7af024], 0
mov eax, dword [ecx + 0x10]
push eax
push edx
jne 0x5d7005
xor ecx, ecx
jmp 0x5d700e
mov ecx, dword [0x7af024]
add ecx, 0x3c
push ecx
cmp dword [0x7af024], 0
je 0x5d7052
mov eax, dword [0x7af024]
mov dword [ebp - 0x494], eax
cmp dword [ebp - 0x494], 0
jne 0x5d7030
xor edx, edx
jmp 0x5d7058
mov eax, dword [ebp - 0x494]
cmp dword [eax + 4], 0
je 0x5d7047
mov edx, dword [ebp - 0x494]
mov edx, dword [edx + 4]
jmp 0x5d7058
mov edx, dword [ebp - 0x494]
add edx, 8
jmp 0x5d7058
mov edx, dword [0x6a9384]
push edx
push 0
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x488
add esp, 0x18
lea edx, [ebp - 0x110]
lea eax, [ebp - 0x11c]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x11c], 0
je 0x5d7098
mov edx, dword [ebp - 0x11c]
inc dword [edx]
cmp dword [ebp - 0x114], 0
je 0x5d70ac
mov eax, dword [ebp - 0x114]
call fcn.00408920
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x114], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x11c], 0
je 0x5d70cf
mov eax, dword [ebp - 0x11c]
call fcn.00408920
mov word [edi + 0x10], 0x470
mov edx, 0x6e6884
test edx, edx
je 0x5d70e8
cmp word [0x6e6884], 0
jne 0x5d70ec
xor ecx, ecx
jmp 0x5d70f1
mov ecx, 1
mov byte [ebp - 0x495], cl
cmp dword [ebp - 0x114], 0
jne 0x5d710d
cmp byte [ebp - 0x495], 0
jne 0x5d710d
mov al, 1
jmp 0x5d7188
cmp dword [ebp - 0x114], 0
jne 0x5d7123
cmp byte [ebp - 0x495], 0
je 0x5d7123
xor eax, eax
jmp 0x5d7188
cmp dword [ebp - 0x114], 0
je 0x5d7139
cmp byte [ebp - 0x495], 0
jne 0x5d7139
xor eax, eax
jmp 0x5d7188
push 0x6e6884
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x49c], edx
cmp dword [ebp - 0x49c], 0
jne 0x5d7157
xor ecx, ecx
jmp 0x5d7177
mov eax, dword [ebp - 0x49c]
cmp dword [eax + 4], 0
je 0x5d716e
mov edx, dword [ebp - 0x49c]
mov ecx, dword [edx + 4]
jmp 0x5d7177
mov ecx, dword [ebp - 0x49c]
add ecx, 8
push ecx
call fcn.005647a8
add esp, 8
test eax, eax
sete al
and eax, 1
test al, al
je 0x5d71a6
cmp dword [0x7c01b4], 0
je 0x5d719c
mov eax, dword [0x7c01b4]
jmp 0x5d71a1
mov eax, dword [0x7c01b0]
call fcn.0066883c
lea edx, [ebp - 0x110]
lea eax, [ebp - 0x114]
call fcn.0066a3dc
mov word [edi + 0x10], 0x4a0
lea edx, [ebp - 0x110]
lea eax, [ebp - 0x120]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x120], 0
je 0x5d71e2
mov edx, dword [ebp - 0x120]
inc dword [edx]
cmp dword [ebp - 0x114], 0
je 0x5d71f6
mov eax, dword [ebp - 0x114]
call fcn.00408920
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x114], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x120], 0
je 0x5d7219
mov eax, dword [ebp - 0x120]
call fcn.00408920
mov word [edi + 0x10], 0x470
cmp dword [ebp - 0x114], 0
je 0x5d7263
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x4a4], edx
cmp dword [ebp - 0x4a4], 0
jne 0x5d7241
xor ecx, ecx
jmp 0x5d7269
mov eax, dword [ebp - 0x4a4]
cmp dword [eax + 4], 0
je 0x5d7258
mov edx, dword [ebp - 0x4a4]
mov ecx, dword [edx + 4]
jmp 0x5d7269
mov ecx, dword [ebp - 0x4a4]
add ecx, 8
jmp 0x5d7269
mov ecx, dword [0x6a9384]
mov dword [ebp - 0x4a0], ecx
xor eax, eax
mov dword [ebp - 0x4a8], eax
jmp 0x5d7298
mov edx, dword [ebp - 0x4a0]
cmp word [edx], 0x5b
jne 0x5d728b
inc dword [ebp - 0x4a8]
add dword [ebp - 0x4a0], 2
inc dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x4a0]
cmp word [eax], 0
jne 0x5d7279
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x7c]
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
add ecx, ecx
add eax, ecx
call fcn.0043a9bc
mov dword [ebp - 0x4ac], eax
mov word [edi + 0x10], 0x470
mov eax, dword [ebp - 0x4a8]
add eax, dword [ebp - 0x26c]
add eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b0], eax
test si, si
jne 0x5d72fd
mov edx, dword [ebp - 0x254]
cmp byte [edx + 0x96], 0
jne 0x5d72fd
inc dword [ebp - 0x4b0]
mov word [edi + 0x10], 0x4b8
xor ecx, ecx
mov dword [ebp - 0x118], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x470
mov eax, dword [ebp - 0x4b0]
inc eax
mov dword [ebp - 0x4b8], eax
cmp dword [ebp - 0x118], 0
je 0x5d7335
mov eax, dword [ebp - 0x118]
call fcn.00408920
mov eax, dword [ebp - 0x4b8]
call fcn.00408e78
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x4bc], edx
cmp dword [ebp - 0x4bc], 0
jne 0x5d735f
xor ecx, ecx
jmp 0x5d737f
mov eax, dword [ebp - 0x4bc]
cmp dword [eax + 4], 0
je 0x5d7376
mov edx, dword [ebp - 0x4bc]
mov ecx, dword [edx + 4]
jmp 0x5d737f
mov ecx, dword [ebp - 0x4bc]
add ecx, 8
mov dword [ebp - 0x4b4], ecx
mov eax, dword [ebp - 0x26c]
push eax
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x7c]
push eax
mov edx, dword [ebp - 0x4b4]
push edx
call fcn.00564804
add esp, 0xc
mov ecx, dword [ebp - 0x26c]
add ecx, ecx
add dword [ebp - 0x4b4], ecx
cmp dword [ebp - 0x114], 0
je 0x5d73f7
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x4c0], eax
cmp dword [ebp - 0x4c0], 0
jne 0x5d73d5
xor edx, edx
jmp 0x5d73fd
mov ecx, dword [ebp - 0x4c0]
cmp dword [ecx + 4], 0
je 0x5d73ec
mov eax, dword [ebp - 0x4c0]
mov edx, dword [eax + 4]
jmp 0x5d73fd
mov edx, dword [ebp - 0x4c0]
add edx, 8
jmp 0x5d73fd
mov edx, dword [0x6a9384]
mov dword [ebp - 0x4a0], edx
jmp 0x5d7457
mov eax, dword [ebp - 0x4a0]
cmp word [eax], 0x5b
jne 0x5d7437
mov ecx, dword [ebp - 0x4b4]
mov word [ecx], 0x5b
add dword [ebp - 0x4b4], 2
mov eax, dword [ebp - 0x4b4]
mov word [eax], 0x5b
add dword [ebp - 0x4b4], 2
jmp 0x5d7450
mov edx, dword [ebp - 0x4a0]
mov eax, dword [ebp - 0x4b4]
mov cx, word [edx]
mov word [eax], cx
add dword [ebp - 0x4b4], 2
add dword [ebp - 0x4a0], 2
mov edx, dword [ebp - 0x4a0]
cmp word [edx], 0
jne 0x5d7405
mov ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov edx, dword [ecx + 0x7c]
mov ecx, dword [eax + 0x78]
add ecx, ecx
mov eax, dword [ebp - 0x4b4]
add edx, ecx
call fcn.0043a9a0
test si, si
jne 0x5d74c3
mov edx, dword [ebp - 0x254]
cmp byte [edx + 0x96], 0
jne 0x5d74c3
mov ecx, dword [ebp - 0x4ac]
add ecx, ecx
add dword [ebp - 0x4b4], ecx
mov eax, dword [ebp - 0x4b4]
mov word [eax], 0x5c
add dword [ebp - 0x4b4], 2
mov edx, dword [ebp - 0x4b4]
mov word [edx], 0
cmp dword [ebp - 0x118], 0
je 0x5d751f
mov ecx, dword [ebp - 0x118]
cmp dword [ecx], 0
jne 0x5d7512
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4c4], 0
jne 0x5d74f0
xor edx, edx
jmp 0x5d751f
mov ecx, dword [ebp - 0x4c4]
cmp dword [ecx + 4], 0
je 0x5d7507
mov eax, dword [ebp - 0x4c4]
mov edx, dword [eax + 4]
jmp 0x5d751f
mov edx, dword [ebp - 0x4c4]
add edx, 8
jmp 0x5d751f
lea eax, [ebp - 0x118]
call fcn.0040a360
mov edx, eax
cmp dword [ebp - 0x118], 0
je 0x5d7539
mov eax, dword [ebp - 0x118]
call fcn.00408b38
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x254]
add ecx, 0x80
mov dword [ebp - 0x4c8], ecx
cmp dword [ebp - 0x118], 0
je 0x5d755c
mov eax, dword [ebp - 0x118]
inc dword [eax]
mov edx, dword [ebp - 0x4c8]
cmp dword [edx], 0
je 0x5d7574
mov ecx, dword [ebp - 0x4c8]
mov eax, dword [ecx]
call fcn.00408920
mov edx, dword [ebp - 0x4c8]
mov ecx, dword [ebp - 0x118]
mov dword [edx], ecx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x118], 0
je 0x5d7599
mov eax, dword [ebp - 0x118]
call fcn.00408920
mov word [edi + 0x10], 0x470
dec dword [edi + 0x1c]
cmp dword [ebp - 0x114], 0
je 0x5d75b6
mov eax, dword [ebp - 0x114]
call fcn.00408920
dec dword [edi + 0x1c]
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x2d8
jmp 0x5d78aa
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x4d0], ecx
cmp dword [ebp - 0x4d0], 0
jne 0x5d75ed
xor eax, eax
jmp 0x5d75f6
mov edx, dword [ebp - 0x4d0]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x4cc], eax
mov word [edi + 0x10], 0x2d8
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x7c]
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
add ecx, ecx
add eax, ecx
call fcn.0043a9bc
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x26c]
add eax, dword [ebp - 0x4cc]
add eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x4d8], eax
test si, si
jne 0x5d7655
mov edx, dword [ebp - 0x254]
cmp byte [edx + 0x96], 0
jne 0x5d7655
inc dword [ebp - 0x4d8]
mov word [edi + 0x10], 0x4dc
xor ecx, ecx
mov dword [ebp - 0x124], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x4e8
mov eax, dword [ebp - 0x4d8]
inc eax
mov dword [ebp - 0x4e0], eax
cmp dword [ebp - 0x124], 0
je 0x5d768d
mov eax, dword [ebp - 0x124]
call fcn.00408920
mov eax, dword [ebp - 0x4e0]
call fcn.00408e78
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x4e4], edx
cmp dword [ebp - 0x4e4], 0
jne 0x5d76b7
xor ecx, ecx
jmp 0x5d76d7
mov eax, dword [ebp - 0x4e4]
cmp dword [eax + 4], 0
je 0x5d76ce
mov edx, dword [ebp - 0x4e4]
mov ecx, dword [edx + 4]
jmp 0x5d76d7
mov ecx, dword [ebp - 0x4e4]
add ecx, 8
mov dword [ebp - 0x4dc], ecx
mov eax, dword [ebp - 0x26c]
push eax
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x7c]
push eax
mov edx, dword [ebp - 0x4dc]
push edx
call fcn.00564804
add esp, 0xc
mov ecx, dword [ebp - 0x26c]
add ecx, ecx
add dword [ebp - 0x4dc], ecx
cmp dword [ebp - 0x94], 0
je 0x5d774f
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x4e8], eax
cmp dword [ebp - 0x4e8], 0
jne 0x5d772d
xor edx, edx
jmp 0x5d7755
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 4], 0
je 0x5d7744
mov eax, dword [ebp - 0x4e8]
mov edx, dword [eax + 4]
jmp 0x5d7755
mov edx, dword [ebp - 0x4e8]
add edx, 8
jmp 0x5d7755
mov edx, dword [0x6a9384]
mov eax, dword [ebp - 0x4dc]
call fcn.0043a9a0
mov ecx, dword [ebp - 0x4cc]
add ecx, ecx
add dword [ebp - 0x4dc], ecx
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x7c]
mov eax, dword [ecx + 0x78]
add eax, eax
add edx, eax
mov eax, dword [ebp - 0x4dc]
call fcn.0043a9a0
test si, si
jne 0x5d77ce
mov edx, dword [ebp - 0x254]
cmp byte [edx + 0x96], 0
jne 0x5d77ce
mov ecx, dword [ebp - 0x4d4]
add ecx, ecx
add dword [ebp - 0x4dc], ecx
mov eax, dword [ebp - 0x4dc]
mov word [eax], 0x5c
add dword [ebp - 0x4dc], 2
mov edx, dword [ebp - 0x4dc]
mov word [edx], 0
cmp dword [ebp - 0x124], 0
je 0x5d782a
mov ecx, dword [ebp - 0x124]
cmp dword [ecx], 0
jne 0x5d781d
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x4ec], eax
cmp dword [ebp - 0x4ec], 0
jne 0x5d77fb
xor edx, edx
jmp 0x5d782a
mov ecx, dword [ebp - 0x4ec]
cmp dword [ecx + 4], 0
je 0x5d7812
mov eax, dword [ebp - 0x4ec]
mov edx, dword [eax + 4]
jmp 0x5d782a
mov edx, dword [ebp - 0x4ec]
add edx, 8
jmp 0x5d782a
lea eax, [ebp - 0x124]
call fcn.0040a360
mov edx, eax
cmp dword [ebp - 0x124], 0
je 0x5d7844
mov eax, dword [ebp - 0x124]
call fcn.00408b38
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x254]
add ecx, 0x80
mov dword [ebp - 0x4f0], ecx
cmp dword [ebp - 0x124], 0
je 0x5d7867
mov eax, dword [ebp - 0x124]
inc dword [eax]
mov edx, dword [ebp - 0x4f0]
cmp dword [edx], 0
je 0x5d787f
mov ecx, dword [ebp - 0x4f0]
mov eax, dword [ecx]
call fcn.00408920
mov edx, dword [ebp - 0x4f0]
mov ecx, dword [ebp - 0x124]
mov dword [edx], ecx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x124], 0
je 0x5d78a4
mov eax, dword [ebp - 0x124]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
mov edx, dword [ebp - 0x254]
add edx, 0x80
mov dword [ebp - 0x4f4], edx
mov ecx, dword [ebp - 0x4f4]
cmp dword [ecx], 0
je 0x5d7904
mov eax, dword [ebp - 0x4f4]
mov edx, dword [eax]
mov dword [ebp - 0x4f8], edx
cmp dword [ebp - 0x4f8], 0
jne 0x5d78e2
xor ecx, ecx
jmp 0x5d790a
mov eax, dword [ebp - 0x4f8]
cmp dword [eax + 4], 0
je 0x5d78f9
mov edx, dword [ebp - 0x4f8]
mov ecx, dword [edx + 4]
jmp 0x5d790a
mov ecx, dword [ebp - 0x4f8]
add ecx, 8
jmp 0x5d790a
mov ecx, dword [0x6a9384]
mov eax, dword [ebp - 0x254]
mov dword [eax + 0x7c], ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x26c]
mov dword [edx + 0x78], eax
mov edx, dword [ebp - 0x254]
mov byte [edx + 0x84], 1
cmp byte [ebp - 0x32d], 0
je 0x5d794c
mov ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov edx, dword [ecx + 0x10]
call fcn.005d202c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d9d9f
mov eax, dword [ebp - 0x94]
call fcn.00408920
jmp 0x5d9d9f
cmp bl, 0xc
jne 0x5d7eb1
mov word [edi + 0x10], 0x500
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x128], edx
xor eax, eax
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x50c
mov word [edi + 0x10], 0x518
mov dword [ebp - 0x12c], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x50c
mov word [edi + 0x10], 0x524
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x138]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x50c
mov edx, dword [ebp - 0x254]
cmp dword [0x7af01c], 0
mov ecx, dword [edx + 0x10]
push ecx
push eax
jne 0x5d79d8
xor edx, edx
jmp 0x5d79e1
mov edx, dword [0x7af01c]
add edx, 0x3c
push edx
cmp dword [0x7af01c], 0
je 0x5d7a25
mov eax, dword [0x7af01c]
mov dword [ebp - 0x4fc], eax
cmp dword [ebp - 0x4fc], 0
jne 0x5d7a03
xor ecx, ecx
jmp 0x5d7a2b
mov eax, dword [ebp - 0x4fc]
cmp dword [eax + 4], 0
je 0x5d7a1a
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 4]
jmp 0x5d7a2b
mov ecx, dword [ebp - 0x4fc]
add ecx, 8
jmp 0x5d7a2b
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x530
add esp, 0x18
lea edx, [ebp - 0x138]
lea eax, [ebp - 0x13c]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x13c], 0
je 0x5d7a6b
mov edx, dword [ebp - 0x13c]
inc dword [edx]
cmp dword [ebp - 0x128], 0
je 0x5d7a7f
mov eax, dword [ebp - 0x128]
call fcn.00408920
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x128], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x13c], 0
je 0x5d7aa2
mov eax, dword [ebp - 0x13c]
call fcn.00408920
mov word [edi + 0x10], 0x50c
mov edx, dword [ebp - 0x254]
lea eax, [ebp - 0x138]
cmp dword [0x7af020], 0
mov ecx, dword [edx + 0x10]
push ecx
push eax
jne 0x5d7ac6
xor edx, edx
jmp 0x5d7acf
mov edx, dword [0x7af020]
add edx, 0x3c
push edx
cmp dword [0x7af020], 0
je 0x5d7b13
mov eax, dword [0x7af020]
mov dword [ebp - 0x500], eax
cmp dword [ebp - 0x500], 0
jne 0x5d7af1
xor ecx, ecx
jmp 0x5d7b19
mov eax, dword [ebp - 0x500]
cmp dword [eax + 4], 0
je 0x5d7b08
mov edx, dword [ebp - 0x500]
mov ecx, dword [edx + 4]
jmp 0x5d7b19
mov ecx, dword [ebp - 0x500]
add ecx, 8
jmp 0x5d7b19
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x548
add esp, 0x18
lea edx, [ebp - 0x138]
lea eax, [ebp - 0x140]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x140], 0
je 0x5d7b59
mov edx, dword [ebp - 0x140]
inc dword [edx]
cmp dword [ebp - 0x12c], 0
je 0x5d7b6d
mov eax, dword [ebp - 0x12c]
call fcn.00408920
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x12c], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x140], 0
je 0x5d7b90
mov eax, dword [ebp - 0x140]
call fcn.00408920
mov word [edi + 0x10], 0x50c
mov byte [ebp - 0x501], 1
mov edx, dword [ebp - 0x254]
cmp dword [edx + 4], 0
je 0x5d7dc3
mov word [edi + 0x10], 0x560
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x508], eax
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x50c], ecx
cmp dword [ebp - 0x508], 0
je 0x5d7be6
mov eax, dword [ebp - 0x508]
push eax
mov edx, dword [eax]
call dword [edx]
pop ecx
cmp dword [ebp - 0x50c], 0
je 0x5d7bfb
mov ecx, dword [ebp - 0x50c]
push ecx
mov eax, dword [ecx]
call dword [eax]
pop ecx
mov dword [ebp - 0x144], 1
mov edx, dword [ebp - 0x508]
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x14c], edx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x148], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x56c
cmp byte [0x6e676f], 0
mov dword [ebp - 0x510], eax
jne 0x5d7cd1
mov word [edi + 0x10], 0x578
mov eax, str.onJump
call fcn.00408c54
mov dword [ebp - 0x15c], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 0x15c]
lea edx, [ebp - 0x160]
call fcn.0046a988
lea ecx, [ebp - 0x160]
inc dword [edi + 0x1c]
mov dword [ebp - 0x514], ecx
mov eax, dword [ebp - 0x514]
mov edx, dword [eax]
mov dword [0x7af874], edx
cmp dword [0x7af874], 0
je 0x5d7c97
mov ecx, dword [0x7af874]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x160], 0
je 0x5d7cb1
mov eax, dword [ebp - 0x160]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x15c], 0
je 0x5d7cc8
mov eax, dword [ebp - 0x15c]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e676f]
mov word [edi + 0x10], 0x59c
xor edx, edx
mov dword [ebp - 0x150], edx
lea edx, [ebp - 0x510]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x56c
mov ecx, dword [ebp - 0x254]
cmp dword [0x7af874], 0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x158]
push eax
push edx
push 1
push ecx
jne 0x5d7d0f
xor eax, eax
jmp 0x5d7d17
mov eax, dword [0x7af874]
add eax, 0x3c
push eax
cmp dword [0x7af874], 0
je 0x5d7d5c
mov edx, dword [0x7af874]
mov dword [ebp - 0x51c], edx
cmp dword [ebp - 0x51c], 0
jne 0x5d7d3a
xor ecx, ecx
jmp 0x5d7d62
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 4], 0
je 0x5d7d51
mov edx, dword [ebp - 0x51c]
mov ecx, dword [edx + 4]
jmp 0x5d7d62
mov ecx, dword [ebp - 0x51c]
add ecx, 8
jmp 0x5d7d62
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 4]
push edx
mov eax, dword [edx]
call dword [eax + 8]
add esp, 0x20
mov dword [ebp - 0x518], eax
cmp dword [ebp - 0x518], 0
jne 0x5d7d97
lea eax, [ebp - 0x158]
call fcn.00406888
mov byte [ebp - 0x501], al
dec dword [edi + 0x1c]
lea eax, [ebp - 0x158]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
lea eax, [ebp - 0x14c]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x50c
cmp byte [ebp - 0x501], 0
je 0x5d7e5f
lea ecx, [ebp - 0x12c]
lea edx, [ebp - 0x128]
mov eax, dword [ebp - 0x254]
call fcn.005d17fc
dec dword [edi + 0x1c]
lea eax, [ebp - 0x138]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
cmp dword [ebp - 0x12c], 0
je 0x5d7e11
mov eax, dword [ebp - 0x12c]
call fcn.00408920
mov word [edi + 0x10], 0x50c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x128], 0
je 0x5d7e2e
mov eax, dword [ebp - 0x128]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d7e45
mov eax, dword [ebp - 0x94]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x2c], 0
je 0x5d3f19
mov eax, dword [ebp - 0x2c]
call fcn.00408920
jmp 0x5d3f19
dec dword [edi + 0x1c]
lea eax, [ebp - 0x138]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
cmp dword [ebp - 0x12c], 0
je 0x5d7e89
mov eax, dword [ebp - 0x12c]
call fcn.00408920
mov word [edi + 0x10], 0x50c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x128], 0
je 0x5d7ea6
mov eax, dword [ebp - 0x128]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
jmp 0x5d8ce0
cmp bl, 0xd
jne 0x5d8432
mov word [edi + 0x10], 0x5f0
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x164], edx
xor eax, eax
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x5fc
mov word [edi + 0x10], 0x608
mov dword [ebp - 0x168], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x5fc
mov word [edi + 0x10], 0x614
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x174]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x5fc
mov edx, dword [ebp - 0x254]
cmp dword [0x7af01c], 0
mov ecx, dword [edx + 0x10]
push ecx
push eax
jne 0x5d7f1d
xor edx, edx
jmp 0x5d7f26
mov edx, dword [0x7af01c]
add edx, 0x3c
push edx
cmp dword [0x7af01c], 0
je 0x5d7f6a
mov eax, dword [0x7af01c]
mov dword [ebp - 0x520], eax
cmp dword [ebp - 0x520], 0
jne 0x5d7f48
xor ecx, ecx
jmp 0x5d7f70
mov eax, dword [ebp - 0x520]
cmp dword [eax + 4], 0
je 0x5d7f5f
mov edx, dword [ebp - 0x520]
mov ecx, dword [edx + 4]
jmp 0x5d7f70
mov ecx, dword [ebp - 0x520]
add ecx, 8
jmp 0x5d7f70
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x620
add esp, 0x18
lea edx, [ebp - 0x174]
lea eax, [ebp - 0x178]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x178], 0
je 0x5d7fb0
mov edx, dword [ebp - 0x178]
inc dword [edx]
cmp dword [ebp - 0x164], 0
je 0x5d7fc4
mov eax, dword [ebp - 0x164]
call fcn.00408920
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x164], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x178], 0
je 0x5d7fe7
mov eax, dword [ebp - 0x178]
call fcn.00408920
mov word [edi + 0x10], 0x5fc
mov edx, dword [ebp - 0x254]
lea eax, [ebp - 0x174]
cmp dword [0x7af020], 0
mov ecx, dword [edx + 0x10]
push ecx
push eax
jne 0x5d800b
xor edx, edx
jmp 0x5d8014
mov edx, dword [0x7af020]
add edx, 0x3c
push edx
cmp dword [0x7af020], 0
je 0x5d8058
mov eax, dword [0x7af020]
mov dword [ebp - 0x524], eax
cmp dword [ebp - 0x524], 0
jne 0x5d8036
xor ecx, ecx
jmp 0x5d805e
mov eax, dword [ebp - 0x524]
cmp dword [eax + 4], 0
je 0x5d804d
mov edx, dword [ebp - 0x524]
mov ecx, dword [edx + 4]
jmp 0x5d805e
mov ecx, dword [ebp - 0x524]
add ecx, 8
jmp 0x5d805e
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x638
add esp, 0x18
lea edx, [ebp - 0x174]
lea eax, [ebp - 0x17c]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x17c], 0
je 0x5d809e
mov edx, dword [ebp - 0x17c]
inc dword [edx]
cmp dword [ebp - 0x168], 0
je 0x5d80b2
mov eax, dword [ebp - 0x168]
call fcn.00408920
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x168], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x17c], 0
je 0x5d80d5
mov eax, dword [ebp - 0x17c]
call fcn.00408920
mov word [edi + 0x10], 0x5fc
mov byte [ebp - 0x525], 1
mov edx, dword [ebp - 0x254]
cmp dword [edx + 4], 0
je 0x5d8308
mov word [edi + 0x10], 0x650
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x52c], eax
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x530], ecx
cmp dword [ebp - 0x52c], 0
je 0x5d812b
mov eax, dword [ebp - 0x52c]
push eax
mov edx, dword [eax]
call dword [edx]
pop ecx
cmp dword [ebp - 0x530], 0
je 0x5d8140
mov ecx, dword [ebp - 0x530]
push ecx
mov eax, dword [ecx]
call dword [eax]
pop ecx
mov dword [ebp - 0x180], 1
mov edx, dword [ebp - 0x52c]
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], edx
mov ecx, dword [ebp - 0x530]
mov dword [ebp - 0x184], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x65c
cmp byte [0x6e6770], 0
mov dword [ebp - 0x534], eax
jne 0x5d8216
mov word [edi + 0x10], 0x668
mov eax, str.onCall
call fcn.00408c54
mov dword [ebp - 0x198], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 0x198]
lea edx, [ebp - 0x19c]
call fcn.0046a988
lea ecx, [ebp - 0x19c]
inc dword [edi + 0x1c]
mov dword [ebp - 0x538], ecx
mov eax, dword [ebp - 0x538]
mov edx, dword [eax]
mov dword [0x7af878], edx
cmp dword [0x7af878], 0
je 0x5d81dc
mov ecx, dword [0x7af878]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x19c], 0
je 0x5d81f6
mov eax, dword [ebp - 0x19c]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x198], 0
je 0x5d820d
mov eax, dword [ebp - 0x198]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e6770]
mov word [edi + 0x10], 0x68c
xor edx, edx
mov dword [ebp - 0x18c], edx
lea edx, [ebp - 0x534]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x65c
mov ecx, dword [ebp - 0x254]
cmp dword [0x7af878], 0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x194]
push eax
push edx
push 1
push ecx
jne 0x5d8254
xor eax, eax
jmp 0x5d825c
mov eax, dword [0x7af878]
add eax, 0x3c
push eax
cmp dword [0x7af878], 0
je 0x5d82a1
mov edx, dword [0x7af878]
mov dword [ebp - 0x540], edx
cmp dword [ebp - 0x540], 0
jne 0x5d827f
xor ecx, ecx
jmp 0x5d82a7
mov eax, dword [ebp - 0x540]
cmp dword [eax + 4], 0
je 0x5d8296
mov edx, dword [ebp - 0x540]
mov ecx, dword [edx + 4]
jmp 0x5d82a7
mov ecx, dword [ebp - 0x540]
add ecx, 8
jmp 0x5d82a7
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 4]
push edx
mov eax, dword [edx]
call dword [eax + 8]
add esp, 0x20
mov dword [ebp - 0x53c], eax
cmp dword [ebp - 0x53c], 0
jne 0x5d82dc
lea eax, [ebp - 0x194]
call fcn.00406888
mov byte [ebp - 0x525], al
dec dword [edi + 0x1c]
lea eax, [ebp - 0x194]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
lea eax, [ebp - 0x188]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x5fc
cmp byte [ebp - 0x525], 0
je 0x5d83e0
test si, si
jne 0x5d833d
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x74]
mov eax, dword [ebp - 0x254]
xor edx, edx
mov dword [eax + 0x78], edx
mov ecx, dword [ebp - 0x254]
mov byte [ecx + 0x84], 0
jmp 0x5d8346
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
mov eax, dword [ebp - 0x254]
call fcn.005d22e0
lea ecx, [ebp - 0x168]
lea edx, [ebp - 0x164]
mov eax, dword [ebp - 0x254]
call fcn.005d17fc
dec dword [edi + 0x1c]
lea eax, [ebp - 0x174]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
cmp dword [ebp - 0x168], 0
je 0x5d8392
mov eax, dword [ebp - 0x168]
call fcn.00408920
mov word [edi + 0x10], 0x5fc
dec dword [edi + 0x1c]
cmp dword [ebp - 0x164], 0
je 0x5d83af
mov eax, dword [ebp - 0x164]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d83c6
mov eax, dword [ebp - 0x94]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x2c], 0
je 0x5d3f19
mov eax, dword [ebp - 0x2c]
call fcn.00408920
jmp 0x5d3f19
dec dword [edi + 0x1c]
lea eax, [ebp - 0x174]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
cmp dword [ebp - 0x168], 0
je 0x5d840a
mov eax, dword [ebp - 0x168]
call fcn.00408920
mov word [edi + 0x10], 0x5fc
dec dword [edi + 0x1c]
cmp dword [ebp - 0x164], 0
je 0x5d8427
mov eax, dword [ebp - 0x164]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
jmp 0x5d8ce0
cmp bl, 0xe
jne 0x5d8977
mov word [edi + 0x10], 0x6e0
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x1a0], edx
xor eax, eax
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x6ec
mov word [edi + 0x10], 0x6f8
mov dword [ebp - 0x1a4], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x6ec
mov word [edi + 0x10], 0x704
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1b0]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x6ec
mov edx, dword [ebp - 0x254]
cmp dword [0x7af01c], 0
mov ecx, dword [edx + 0x10]
push ecx
push eax
jne 0x5d849e
xor edx, edx
jmp 0x5d84a7
mov edx, dword [0x7af01c]
add edx, 0x3c
push edx
cmp dword [0x7af01c], 0
je 0x5d84eb
mov eax, dword [0x7af01c]
mov dword [ebp - 0x544], eax
cmp dword [ebp - 0x544], 0
jne 0x5d84c9
xor ecx, ecx
jmp 0x5d84f1
mov eax, dword [ebp - 0x544]
cmp dword [eax + 4], 0
je 0x5d84e0
mov edx, dword [ebp - 0x544]
mov ecx, dword [edx + 4]
jmp 0x5d84f1
mov ecx, dword [ebp - 0x544]
add ecx, 8
jmp 0x5d84f1
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x710
add esp, 0x18
lea edx, [ebp - 0x1b0]
lea eax, [ebp - 0x1b4]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x1b4], 0
je 0x5d8531
mov edx, dword [ebp - 0x1b4]
inc dword [edx]
cmp dword [ebp - 0x1a0], 0
je 0x5d8545
mov eax, dword [ebp - 0x1a0]
call fcn.00408920
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1a0], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1b4], 0
je 0x5d8568
mov eax, dword [ebp - 0x1b4]
call fcn.00408920
mov word [edi + 0x10], 0x6ec
mov edx, dword [ebp - 0x254]
lea eax, [ebp - 0x1b0]
cmp dword [0x7af020], 0
mov ecx, dword [edx + 0x10]
push ecx
push eax
jne 0x5d858c
xor edx, edx
jmp 0x5d8595
mov edx, dword [0x7af020]
add edx, 0x3c
push edx
cmp dword [0x7af020], 0
je 0x5d85d9
mov eax, dword [0x7af020]
mov dword [ebp - 0x548], eax
cmp dword [ebp - 0x548], 0
jne 0x5d85b7
xor ecx, ecx
jmp 0x5d85df
mov eax, dword [ebp - 0x548]
cmp dword [eax + 4], 0
je 0x5d85ce
mov edx, dword [ebp - 0x548]
mov ecx, dword [edx + 4]
jmp 0x5d85df
mov ecx, dword [ebp - 0x548]
add ecx, 8
jmp 0x5d85df
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [edi + 0x10], 0x728
add esp, 0x18
lea edx, [ebp - 0x1b0]
lea eax, [ebp - 0x1b8]
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x1b8], 0
je 0x5d861f
mov edx, dword [ebp - 0x1b8]
inc dword [edx]
cmp dword [ebp - 0x1a4], 0
je 0x5d8633
mov eax, dword [ebp - 0x1a4]
call fcn.00408920
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1a4], edx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1b8], 0
je 0x5d8656
mov eax, dword [ebp - 0x1b8]
call fcn.00408920
mov word [edi + 0x10], 0x6ec
mov byte [ebp - 0x549], 1
mov edx, dword [ebp - 0x254]
cmp dword [edx + 4], 0
je 0x5d8889
mov word [edi + 0x10], 0x740
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x550], eax
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x554], ecx
cmp dword [ebp - 0x550], 0
je 0x5d86ac
mov eax, dword [ebp - 0x550]
push eax
mov edx, dword [eax]
call dword [edx]
pop ecx
cmp dword [ebp - 0x554], 0
je 0x5d86c1
mov ecx, dword [ebp - 0x554]
push ecx
mov eax, dword [ecx]
call dword [eax]
pop ecx
mov dword [ebp - 0x1bc], 1
mov edx, dword [ebp - 0x550]
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x1c4], edx
mov ecx, dword [ebp - 0x554]
mov dword [ebp - 0x1c0], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x74c
cmp byte [0x6e6771], 0
mov dword [ebp - 0x558], eax
jne 0x5d8797
mov word [edi + 0x10], 0x758
mov eax, str.onReturn
call fcn.00408c54
mov dword [ebp - 0x1d4], eax
inc dword [edi + 0x1c]
lea eax, [ebp - 0x1d4]
lea edx, [ebp - 0x1d8]
call fcn.0046a988
lea ecx, [ebp - 0x1d8]
inc dword [edi + 0x1c]
mov dword [ebp - 0x55c], ecx
mov eax, dword [ebp - 0x55c]
mov edx, dword [eax]
mov dword [0x7af87c], edx
cmp dword [0x7af87c], 0
je 0x5d875d
mov ecx, dword [0x7af87c]
inc dword [ecx]
inc dword [edi + 0x1c]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1d8], 0
je 0x5d8777
mov eax, dword [ebp - 0x1d8]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1d4], 0
je 0x5d878e
mov eax, dword [ebp - 0x1d4]
call fcn.00408920
dec dword [edi + 0x1c]
inc byte [0x6e6771]
mov word [edi + 0x10], 0x77c
xor edx, edx
mov dword [ebp - 0x1c8], edx
lea edx, [ebp - 0x558]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x74c
mov ecx, dword [ebp - 0x254]
cmp dword [0x7af87c], 0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x1d0]
push eax
push edx
push 1
push ecx
jne 0x5d87d5
xor eax, eax
jmp 0x5d87dd
mov eax, dword [0x7af87c]
add eax, 0x3c
push eax
cmp dword [0x7af87c], 0
je 0x5d8822
mov edx, dword [0x7af87c]
mov dword [ebp - 0x564], edx
cmp dword [ebp - 0x564], 0
jne 0x5d8800
xor ecx, ecx
jmp 0x5d8828
mov eax, dword [ebp - 0x564]
cmp dword [eax + 4], 0
je 0x5d8817
mov edx, dword [ebp - 0x564]
mov ecx, dword [edx + 4]
jmp 0x5d8828
mov ecx, dword [ebp - 0x564]
add ecx, 8
jmp 0x5d8828
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 4]
push edx
mov eax, dword [edx]
call dword [eax + 8]
add esp, 0x20
mov dword [ebp - 0x560], eax
cmp dword [ebp - 0x560], 0
jne 0x5d885d
lea eax, [ebp - 0x1d0]
call fcn.00406888
mov byte [ebp - 0x549], al
dec dword [edi + 0x1c]
lea eax, [ebp - 0x1d0]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
lea eax, [ebp - 0x1c4]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x6ec
cmp byte [ebp - 0x549], 0
je 0x5d8925
lea ecx, [ebp - 0x1a4]
lea edx, [ebp - 0x1a0]
mov eax, dword [ebp - 0x254]
call fcn.005d31d0
dec dword [edi + 0x1c]
lea eax, [ebp - 0x1b0]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1a4], 0
je 0x5d88d7
mov eax, dword [ebp - 0x1a4]
call fcn.00408920
mov word [edi + 0x10], 0x6ec
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1a0], 0
je 0x5d88f4
mov eax, dword [ebp - 0x1a0]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d890b
mov eax, dword [ebp - 0x94]
call fcn.00408920
dec dword [edi + 0x1c]
cmp dword [ebp - 0x2c], 0
je 0x5d3f19
mov eax, dword [ebp - 0x2c]
call fcn.00408920
jmp 0x5d3f19
dec dword [edi + 0x1c]
lea eax, [ebp - 0x1b0]
mov edx, 2
call fcn.00405500
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1a4], 0
je 0x5d894f
mov eax, dword [ebp - 0x1a4]
call fcn.00408920
mov word [edi + 0x10], 0x6ec
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1a0], 0
je 0x5d896c
mov eax, dword [ebp - 0x1a0]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
jmp 0x5d8ce0
cmp bl, 8
jne 0x5d8ba0
mov word [edi + 0x10], 0x7d0
xor edx, edx
mov dword [ebp - 0x1dc], edx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x7dc
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
lea edx, [ebp - 0x1e4]
push edx
push 0
push 0x6e6e70
push 0
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, dword [ebp - 0x254]
add esp, 0x18
add ecx, 0x9c
lea edx, [ebp - 0x1e4]
mov dword [ebp - 0x568], ecx
lea eax, [ebp - 0x1e8]
mov word [edi + 0x10], 0x7e8
call fcn.0040a218
inc dword [edi + 0x1c]
cmp dword [ebp - 0x1e8], 0
je 0x5d8a00
mov ecx, dword [ebp - 0x1e8]
inc dword [ecx]
mov eax, dword [ebp - 0x568]
cmp dword [eax], 0
je 0x5d8a18
mov edx, dword [ebp - 0x568]
mov eax, dword [edx]
call fcn.00408920
mov edx, dword [ebp - 0x568]
mov ecx, dword [ebp - 0x1e8]
mov dword [edx], ecx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1e8], 0
je 0x5d8a3d
mov eax, dword [ebp - 0x1e8]
call fcn.00408920
mov word [edi + 0x10], 0x7dc
mov eax, dword [ebp - 0x254]
add eax, 0x9c
call fcn.0040a8c4
mov edx, dword [ebp - 0x254]
mov ecx, 0x6e6884
add edx, 0x9c
test ecx, ecx
mov dword [ebp - 0x56c], edx
je 0x5d8a78
cmp word [0x6e6884], 0
jne 0x5d8a7c
xor eax, eax
jmp 0x5d8a81
mov eax, 1
mov byte [ebp - 0x56d], al
mov edx, dword [ebp - 0x56c]
cmp dword [edx], 0
jne 0x5d8aa2
cmp byte [ebp - 0x56d], 0
jne 0x5d8aa2
mov cl, 1
jmp 0x5d8b23
mov eax, dword [ebp - 0x56c]
cmp dword [eax], 0
jne 0x5d8aba
cmp byte [ebp - 0x56d], 0
je 0x5d8aba
xor ecx, ecx
jmp 0x5d8b23
mov edx, dword [ebp - 0x56c]
cmp dword [edx], 0
je 0x5d8ad2
cmp byte [ebp - 0x56d], 0
jne 0x5d8ad2
xor ecx, ecx
jmp 0x5d8b23
push 0x6e6884
mov eax, dword [ebp - 0x56c]
mov edx, dword [eax]
mov dword [ebp - 0x574], edx
cmp dword [ebp - 0x574], 0
jne 0x5d8af2
xor eax, eax
jmp 0x5d8b12
mov edx, dword [ebp - 0x574]
cmp dword [edx + 4], 0
je 0x5d8b09
mov ecx, dword [ebp - 0x574]
mov eax, dword [ecx + 4]
jmp 0x5d8b12
mov eax, dword [ebp - 0x574]
add eax, 8
push eax
call fcn.005647a8
add esp, 8
test eax, eax
sete cl
and ecx, 1
test cl, cl
je 0x5d8b41
cmp dword [0x7c01b4], 0
je 0x5d8b37
mov eax, dword [0x7c01b4]
jmp 0x5d8b3c
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov edx, dword [ebp - 0x254]
mov byte [edx + 0x97], 1
mov ecx, dword [ebp - 0x254]
add ecx, 0x98
mov dword [ebp - 0x578], ecx
mov eax, dword [ebp - 0x578]
cmp dword [eax], 0
je 0x5d8b82
mov edx, dword [ebp - 0x578]
mov eax, dword [edx]
call fcn.00408920
mov edx, dword [ebp - 0x578]
xor ecx, ecx
mov dword [edx], ecx
dec dword [edi + 0x1c]
lea eax, [ebp - 0x1e4]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x2d8
jmp 0x5d8ce0
cmp bl, 0xa
jne 0x5d8bb5
mov eax, dword [ebp - 0x254]
call fcn.005d21ac
jmp 0x5d8ce0
cmp bl, 0xb
jne 0x5d8ce0
mov word [edi + 0x10], 0x800
xor edx, edx
mov dword [ebp - 0x1ec], edx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x80c
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
lea edx, [ebp - 0x1f4]
push edx
push 0
push 0x6e6e70
push 0
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov word [edi + 0x10], 0x818
add esp, 0x18
lea edx, [ebp - 0x1f4]
lea eax, [ebp - 0x1f8]
call fcn.0040a218
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x80c
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x14]
push eax
push 0
cmp dword [ebp - 0x1f8], 0
je 0x5d8c71
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x57c], edx
cmp dword [ebp - 0x57c], 0
jne 0x5d8c4f
xor ecx, ecx
jmp 0x5d8c77
mov eax, dword [ebp - 0x57c]
cmp dword [eax + 4], 0
je 0x5d8c66
mov edx, dword [ebp - 0x57c]
mov ecx, dword [edx + 4]
jmp 0x5d8c77
mov ecx, dword [ebp - 0x57c]
add ecx, 8
jmp 0x5d8c77
mov ecx, dword [0x6a9384]
push ecx
push 0
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x14]
push edx
mov eax, dword [edx]
call dword [eax + 0x30]
add esp, 0x14
test eax, eax
jge 0x5d8cb0
lea edx, [ebp - 0x1f8]
cmp dword [0x7c0208], 0
je 0x5d8ca6
mov eax, dword [0x7c0208]
jmp 0x5d8cab
mov eax, dword [0x7c0204]
call fcn.006689e0
dec dword [edi + 0x1c]
cmp dword [ebp - 0x1f8], 0
je 0x5d8cc7
mov eax, dword [ebp - 0x1f8]
call fcn.00408920
dec dword [edi + 0x1c]
lea eax, [ebp - 0x1f4]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x2d8
test si, si
jne 0x5d8d08
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x74]
mov eax, dword [ebp - 0x254]
xor edx, edx
mov dword [eax + 0x78], edx
mov ecx, dword [ebp - 0x254]
mov byte [ecx + 0x84], 0
jmp 0x5d8d11
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
dec dword [edi + 0x1c]
cmp dword [ebp - 0x94], 0
je 0x5d8d28
mov eax, dword [ebp - 0x94]
call fcn.00408920
mov word [edi + 0x10], 0x2d8
jmp 0x5d9d9f
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0
jne 0x5d8d6c
cmp dword [0x7c01b4], 0
je 0x5d8d62
mov eax, dword [0x7c01b4]
jmp 0x5d8d67
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0x2a
jne 0x5d8f74
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x97], 0
jne 0x5d8f00
mov eax, dword [ebp - 0x254]
call fcn.005d9ecc
mov dword [ebp - 0x580], eax
mov word [edi + 0x10], 0x14c
cmp dword [ebp - 0x580], 0
je 0x5d8e85
mov word [edi + 0x10], 0x86c
mov edx, dword [ebp - 0x580]
mov dword [ebp - 0x584], edx
mov ecx, dword [ebp - 0x580]
mov dword [ebp - 0x588], ecx
cmp dword [ebp - 0x584], 0
je 0x5d8df3
mov eax, dword [ebp - 0x584]
push eax
mov edx, dword [eax]
call dword [edx]
pop ecx
cmp dword [ebp - 0x588], 0
je 0x5d8e08
mov ecx, dword [ebp - 0x588]
push ecx
mov eax, dword [ecx]
call dword [eax]
pop ecx
mov dword [ebp - 0x208], 1
mov edx, dword [ebp - 0x584]
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], edx
mov ecx, dword [ebp - 0x588]
mov dword [ebp - 0x20c], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x878
mov dword [ebp - 0x58c], eax
lea eax, [ebp - 0x58c]
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x10]
push ecx
push eax
push 1
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0xc]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
add esp, 0x20
dec dword [edi + 0x1c]
lea eax, [ebp - 0x210]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x884
mov dword [ebp - 0x1fc], 2
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x204], ecx
cmp dword [ebp - 0x204], 0
je 0x5d8eaf
mov eax, dword [ebp - 0x204]
inc dword [eax]
inc dword [edi + 0x1c]
lea eax, [ebp - 0x204]
mov word [edi + 0x10], 0x890
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x10]
mov edx, dword [0x7af014]
push ecx
push eax
push edx
push pe_nt_image_headers32
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x28]
add esp, 0x14
dec dword [edi + 0x1c]
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x14c
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x78]
jmp 0x5d8f14
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0
je 0x5d549a
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
mov ax, word [ecx + eax*2]
mov word [ebp - 0x58e], ax
cmp word [ebp - 0x58e], 0x20
je 0x5d8f66
cmp word [ebp - 0x58e], 9
je 0x5d8f66
xor edx, edx
jmp 0x5d8f6b
mov edx, 1
test dl, dl
jne 0x5d8f0b
jmp 0x5d549a
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x7c]
mov ecx, dword [edx + 0x78]
add ecx, ecx
add eax, ecx
mov dword [ebp - 0x594], eax
mov word [edi + 0x10], 0x14c
jmp 0x5d8fa1
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0
je 0x5d902d
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
mov ax, word [ecx + eax*2]
mov word [ebp - 0x596], ax
cmp word [ebp - 0x596], 0x20
je 0x5d8fef
cmp word [ebp - 0x596], 9
je 0x5d8fef
xor edx, edx
jmp 0x5d8ff4
mov edx, 1
test dl, dl
jne 0x5d902d
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0x3d
je 0x5d902d
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp si, word [eax + edx*2]
jne 0x5d8f98
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x7c]
mov edx, dword [eax + 0x78]
add edx, edx
add ecx, edx
mov dword [ebp - 0x59c], ecx
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0x89c
mov ecx, dword [ebp - 0x594]
mov dword [ebp - 0x5a0], ecx
mov eax, dword [ebp - 0x59c]
sub eax, dword [ebp - 0x594]
sar eax, 1
jns 0x5d9074
adc eax, 0
mov dword [ebp - 0x5a4], eax
mov edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5a0]
call fcn.00408cc8
mov dword [ebp - 0x8c], eax
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x8a8
lea eax, [ebp - 0x8c]
call fcn.0040a8c4
jmp 0x5d90b0
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
mov ax, word [ecx + eax*2]
mov word [ebp - 0x5a6], ax
cmp word [ebp - 0x5a6], 0x20
je 0x5d90e5
cmp word [ebp - 0x5a6], 9
je 0x5d90e5
xor edx, edx
jmp 0x5d90ea
mov edx, 1
test dl, dl
jne 0x5d90a7
mov byte [ebp - 0x5a7], 0
mov word [edi + 0x10], 0x8a8
mov byte [ebp - 0x5a8], 0
mov word [edi + 0x10], 0x8b4
xor ecx, ecx
mov dword [ebp - 0x90], ecx
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x8a8
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2], 0x3d
je 0x5d92ba
cmp dword [ebp - 0x90], 0
je 0x5d92a5
cmp dword [ebp - 0x90], 0
jne 0x5d9150
xor edx, edx
jmp 0x5d91a3
mov ecx, dword [ebp - 0x90]
cmp dword [ecx], 0
jne 0x5d9196
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x5ac], eax
cmp dword [ebp - 0x5ac], 0
jne 0x5d9174
xor edx, edx
jmp 0x5d91a3
mov ecx, dword [ebp - 0x5ac]
cmp dword [ecx + 4], 0
je 0x5d918b
mov eax, dword [ebp - 0x5ac]
mov edx, dword [eax + 4]
jmp 0x5d91a3
mov edx, dword [ebp - 0x5ac]
add edx, 8
jmp 0x5d91a3
lea eax, [ebp - 0x90]
call fcn.0040a360
mov edx, eax
mov eax, 0x6e6eac
test eax, eax
je 0x5d928d
cmp word [0x6e6eac], 0
je 0x5d928d
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x5b0], ecx
mov eax, dword [ebp - 0x5b0]
cmp dword [eax + 4], 0
je 0x5d91ef
mov edx, dword [ebp - 0x5b0]
mov eax, dword [edx + 4]
call fcn.00407efc
mov edx, dword [ebp - 0x5b0]
xor ecx, ecx
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x5b0]
cmp dword [eax + 4], 0
je 0x5d9214
mov edx, dword [ebp - 0x5b0]
mov eax, dword [edx + 4]
call fcn.00407efc
mov edx, dword [ebp - 0x5b0]
xor ecx, ecx
mov dword [edx + 4], ecx
mov eax, 0x6e6eac
call fcn.0043a9bc
mov dword [ebp - 0x5b4], eax
mov edx, dword [ebp - 0x5b0]
mov ecx, dword [ebp - 0x5b4]
mov dword [edx + 0x34], ecx
cmp dword [ebp - 0x5b4], 0x15
jle 0x5d926f
mov eax, dword [ebp - 0x5b4]
inc eax
call fcn.00407e84
mov edx, dword [ebp - 0x5b0]
mov dword [edx + 4], eax
mov edx, 0x6e6eac
mov eax, dword [ebp - 0x5b0]
mov ecx, dword [ebp - 0x5b4]
mov eax, dword [eax + 4]
call fcn.0043a980
jmp 0x5d9852
mov edx, 0x6e6eac
mov eax, dword [ebp - 0x5b0]
add eax, 8
mov ecx, dword [ebp - 0x5b4]
call fcn.0043a980
jmp 0x5d9852
mov eax, dword [ebp - 0x90]
call fcn.00408920
xor edx, edx
mov dword [ebp - 0x90], edx
jmp 0x5d9852
mov eax, 0x6e6eac
call fcn.00408c54
mov dword [ebp - 0x90], eax
jmp 0x5d9852
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0
jne 0x5d92ed
cmp dword [0x7c01b4], 0
je 0x5d92e3
mov eax, dword [0x7c01b4]
jmp 0x5d92e8
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0
jne 0x5d9334
cmp dword [0x7c01b4], 0
je 0x5d931f
mov eax, dword [0x7c01b4]
jmp 0x5d9324
mov eax, dword [0x7c01b0]
call fcn.0066883c
jmp 0x5d9334
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0
je 0x5d938b
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
mov dx, word [eax + edx*2]
mov word [ebp - 0x5b6], dx
cmp word [ebp - 0x5b6], 0x20
je 0x5d9382
cmp word [ebp - 0x5b6], 9
je 0x5d9382
xor ecx, ecx
jmp 0x5d9387
mov ecx, 1
test cl, cl
jne 0x5d932b
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2], 0
jne 0x5d93be
cmp dword [0x7c01b4], 0
je 0x5d93b4
mov eax, dword [0x7c01b4]
jmp 0x5d93b9
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov word [ebp - 0x5b8], 0
mov word [edi + 0x10], 0x8a8
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0x26
jne 0x5d93f8
mov byte [ebp - 0x5a7], 1
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x78]
jmp 0x5d9421
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2], 0x25
jne 0x5d9421
mov byte [ebp - 0x5a8], 1
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0x22
je 0x5d9453
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp word [eax + edx*2], 0x27
jne 0x5d9479
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
mov cx, word [edx + ecx*2]
mov word [ebp - 0x5b8], cx
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x7c]
mov edx, dword [eax + 0x78]
add edx, edx
add ecx, edx
mov dword [ebp - 0x5bc], ecx
jmp 0x5d94f5
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0x60
jne 0x5d94ec
mov eax, dword [ebp - 0x254]
inc dword [eax + 0x78]
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
cmp word [edx + ecx*2], 0
jne 0x5d94ec
cmp dword [0x7c01b4], 0
je 0x5d94e2
mov eax, dword [0x7c01b4]
jmp 0x5d94e7
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov edx, dword [ebp - 0x254]
inc dword [edx + 0x78]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x78]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0
je 0x5d95a8
cmp word [ebp - 0x5b8], 0
je 0x5d9541
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
mov dx, word [eax + edx*2]
cmp dx, word [ebp - 0x5b8]
setne cl
and ecx, 1
jmp 0x5d95a0
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + 0x78]
mov eax, dword [ecx + 0x7c]
cmp si, word [eax + edx*2]
je 0x5d9597
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x78]
mov edx, dword [eax + 0x7c]
mov cx, word [edx + ecx*2]
mov word [ebp - 0x5be], cx
cmp word [ebp - 0x5be], 0x20
je 0x5d958e
cmp word [ebp - 0x5be], 9
je 0x5d958e
xor eax, eax
jmp 0x5d9593
mov eax, 1
test al, al
je 0x5d959b
xor ecx, ecx
jmp 0x5d95a0
mov ecx, 1
test cl, cl
jne 0x5d9497
test si, si
je 0x5d95e0
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x78]
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx + 0x7c]
cmp word [ecx + eax*2], 0
jne 0x5d95e0
cmp dword [0x7c01b4], 0
je 0x5d95d6
mov eax, dword [0x7c01b4]
jmp 0x5d95db
mov eax, dword [0x7c01b0]
call fcn.0066883c
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
mov ecx, dword [edx + 0x7c]
mov edx, dword [eax + 0x78]
add edx, edx
add ecx, edx
mov dword [ebp - 0x5c4], ecx
mov word [edi + 0x10], 0x8a8
cmp word [ebp - 0x5b8], 0
je 0x5d9615
mov ecx, dword [ebp - 0x254]
inc dword [ecx + 0x78]
mov word [edi + 0x10], 0x8c0
mov eax, dword [ebp - 0x5bc]
mov dword [ebp - 0x5cc], eax
mov edx, dword [ebp - 0x5c4]
sub edx, dword [ebp - 0x5bc]
sar edx, 1
jns 0x5d963a
adc edx, 0
mov dword [ebp - 0x5d0], edx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x5cc]
call fcn.00408cc8
mov dword [ebp - 0x214], eax
lea ecx, [ebp - 0x214]
inc dword [edi + 0x1c]
mov dword [ebp - 0x5c8], ecx
mov eax, dword [ebp - 0x5c8]
cmp dword [eax], 0
je 0x5d967b
mov edx, dword [ebp - 0x5c8]
mov ecx, dword [edx]
inc dword [ecx]
cmp dword [ebp - 0x90], 0
je 0x5d968f
mov eax, dword [ebp - 0x90]
call fcn.00408920
mov edx, dword [ebp - 0x5c8]
mov ecx, dword [edx]
mov dword [ebp - 0x90], ecx
dec dword [edi + 0x1c]
cmp dword [ebp - 0x214], 0
je 0x5d96b4
mov eax, dword [ebp - 0x214]
call fcn.00408920
mov word [edi + 0x10], 0x8a8
mov edx, dword [ebp - 0x5c4]
cmp edx, dword [ebp - 0x5bc]
je 0x5d9852
cmp dword [ebp - 0x90], 0
jne 0x5d96d9
xor ecx, ecx
jmp 0x5d972c
mov eax, dword [ebp - 0x90]
cmp dword [eax], 0
jne 0x5d971f
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x5d8], edx
cmp dword [ebp - 0x5d8], 0
jne 0x5d96fd
xor ecx, ecx
jmp 0x5d972c
mov eax, dword [ebp - 0x5d8]
cmp dword [eax + 4], 0
je 0x5d9714
mov edx, dword [ebp - 0x5d8]
mov ecx, dword [edx + 4]
jmp 0x5d972c
mov ecx, dword [ebp - 0x5d8]
add ecx, 8
jmp 0x5d972c
lea eax, [ebp - 0x90]
call fcn.0040a360
mov ecx, eax
mov dword [ebp - 0x5d4], ecx
mov eax, dword [ebp - 0x5d4]
mov dword [ebp - 0x5dc], eax
cmp byte [ebp - 0x5a7], 0
jne 0x5d9761
mov edx, dword [ebp - 0x5d4]
cmp word [edx], 0x26
jne 0x5d9761
mov byte [ebp - 0x5a7], 1
add dword [ebp - 0x5d4], 2
cmp byte [ebp - 0x5a8], 0
jne 0x5d97c5
mov eax, dword [ebp - 0x5d4]
cmp word [eax], 0x25
jne 0x5d97c5
mov byte [ebp - 0x5a8], 1
add dword [ebp - 0x5d4], 2
jmp 0x5d97c5
mov edx, dword [ebp - 0x5d4]
cmp word [edx], 0x60
jne 0x5d97a5
add dword [ebp - 0x5d4], 2
mov ecx, dword [ebp - 0x5d4]
cmp word [ecx], 0
je 0x5d97d1
mov eax, dword [ebp - 0x5d4]
mov ecx, dword [ebp - 0x5dc]
mov dx, word [eax]
mov word [ecx], dx
add dword [ebp - 0x5d4], 2
add dword [ebp - 0x5dc], 2
mov eax, dword [ebp - 0x5d4]
cmp word [eax], 0
jne 0x5d9786
mov edx, dword [ebp - 0x5dc]
mov word [edx], 0
cmp dword [ebp - 0x90], 0
je 0x5d9838
mov ecx, dword [ebp - 0x90]
cmp dword [ecx], 0
jne 0x5d982b
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x5e0], eax
cmp dword [ebp - 0x5e0], 0
jne 0x5d9809
xor edx, edx
jmp 0x5d9838
mov ecx, dword [ebp - 0x5e0]
cmp dword [ecx + 4], 0
je 0x5d9820
mov eax, dword [ebp - 0x5e0]
mov edx, dword [eax + 4]
jmp 0x5d9838
mov edx, dword [ebp - 0x5e0]
add edx, 8
jmp 0x5d9838
lea eax, [ebp - 0x90]
call fcn.0040a360
mov edx, eax
cmp dword [ebp - 0x90], 0
je 0x5d9852
mov eax, dword [ebp - 0x90]
call fcn.00408b38
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x5e1], 1
mov word [edi + 0x10], 0x8a8
mov ecx, dword [ebp - 0x254]
cmp byte [ecx + 0x97], 0
jne 0x5d987d
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0xac], 0xffffffff
je 0x5d9886
cmp bl, 3
jne 0x5d9d22
cmp byte [ebp - 0x5a7], 0
je 0x5d98ce
mov edx, dword [ebp - 0x254]
lea eax, [ebp - 0x90]
add edx, 0xa0
call fcn.0066a3dc
mov edx, dword [ebp - 0x254]
cmp dword [edx + 0xa8], 0
je 0x5d9bd7
mov eax, dword [ebp - 0x254]
add eax, 0xa0
call fcn.00405578
jmp 0x5d9bd7
cmp byte [ebp - 0x5a8], 0
je 0x5d9bc1
mov eax, dword [ebp - 0x254]
call fcn.005d9ecc
mov dword [ebp - 0x5e8], eax
cmp dword [ebp - 0x5e8], 0
je 0x5d9ba9
push 0x7c
cmp dword [ebp - 0x90], 0
je 0x5d993f
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x5f0], edx
cmp dword [ebp - 0x5f0], 0
jne 0x5d991d
xor ecx, ecx
jmp 0x5d9945
mov eax, dword [ebp - 0x5f0]
cmp dword [eax + 4], 0
je 0x5d9934
mov edx, dword [ebp - 0x5f0]
mov ecx, dword [edx + 4]
jmp 0x5d9945
mov ecx, dword [ebp - 0x5f0]
add ecx, 8
jmp 0x5d9945
mov ecx, dword [0x6a9384]
push ecx
call fcn.0056477c
add esp, 8
mov dword [ebp - 0x5ec], eax
cmp dword [ebp - 0x5ec], 0
je 0x5d9b35
mov word [edi + 0x10], 0x8d8
cmp dword [ebp - 0x90], 0
je 0x5d99ab
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x5f8], eax
cmp dword [ebp - 0x5f8], 0
jne 0x5d9989
xor edx, edx
jmp 0x5d99b1
mov eax, dword [ebp - 0x5f8]
cmp dword [eax + 4], 0
je 0x5d99a0
mov edx, dword [ebp - 0x5f8]
mov edx, dword [edx + 4]
jmp 0x5d99b1
mov edx, dword [ebp - 0x5f8]
add edx, 8
jmp 0x5d99b1
mov edx, dword [0x6a9384]
mov dword [ebp - 0x5f4], edx
cmp dword [ebp - 0x90], 0
je 0x5d99fb
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x600], eax
cmp dword [ebp - 0x600], 0
jne 0x5d99d9
xor ecx, ecx
jmp 0x5d9a01
mov eax, dword [ebp - 0x600]
cmp dword [eax + 4], 0
je 0x5d99f0
mov edx, dword [ebp - 0x600]
mov ecx, dword [edx + 4]
jmp 0x5d9a01
mov ecx, dword [ebp - 0x600]
add ecx, 8
jmp 0x5d9a01
mov ecx, dword [0x6a9384]
mov eax, dword [ebp - 0x5ec]
sub eax, ecx
sar eax, 1
jns 0x5d9a10
adc eax, 0
mov dword [ebp - 0x5fc], eax
mov edx, dword [ebp - 0x5fc]
mov eax, dword [ebp - 0x5f4]
call fcn.00408cc8
mov dword [ebp - 0x218], eax
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x8e4
mov edx, dword [ebp - 0x5e8]
push edx
mov ecx, dword [ebp - 0x254]
add ecx, 0xa0
push ecx
push 0
cmp dword [ebp - 0x218], 0
je 0x5d9a90
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x604], eax
cmp dword [ebp - 0x604], 0
jne 0x5d9a6e
xor edx, edx
jmp 0x5d9a96
mov ecx, dword [ebp - 0x604]
cmp dword [ecx + 4], 0
je 0x5d9a85
mov eax, dword [ebp - 0x604]
mov edx, dword [eax + 4]
jmp 0x5d9a96
mov edx, dword [ebp - 0x604]
add edx, 8
jmp 0x5d9a96
mov edx, dword [0x6a9384]
push edx
push 0
mov eax, dword [ebp - 0x5e8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
add esp, 0x18
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0xa8], 0
jne 0x5d9b13
mov word [edi + 0x10], 0x8f0
mov edx, dword [ebp - 0x5ec]
add edx, 2
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x608]
call fcn.00408c54
mov dword [ebp - 0x21c], eax
lea edx, [ebp - 0x21c]
inc dword [edi + 0x1c]
mov eax, dword [ebp - 0x254]
add eax, 0xa0
call fcn.00405c5c
dec dword [edi + 0x1c]
cmp dword [ebp - 0x21c], 0
je 0x5d9b0d
mov eax, dword [ebp - 0x21c]
call fcn.00408920
mov word [edi + 0x10], 0x8e4
dec dword [edi + 0x1c]
cmp dword [ebp - 0x218], 0
je 0x5d9b2a
mov eax, dword [ebp - 0x218]
call fcn.00408920
mov word [edi + 0x10], 0x8a8
jmp 0x5d9bd7
mov edx, dword [ebp - 0x5e8]
push edx
mov ecx, dword [ebp - 0x254]
add ecx, 0xa0
push ecx
push 0
cmp dword [ebp - 0x90], 0
je 0x5d9b8f
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x60c], eax
cmp dword [ebp - 0x60c], 0
jne 0x5d9b6d
xor edx, edx
jmp 0x5d9b95
mov ecx, dword [ebp - 0x60c]
cmp dword [ecx + 4], 0
je 0x5d9b84
mov eax, dword [ebp - 0x60c]
mov edx, dword [eax + 4]
jmp 0x5d9b95
mov edx, dword [ebp - 0x60c]
add edx, 8
jmp 0x5d9b95
mov edx, dword [0x6a9384]
push edx
push 0
mov eax, dword [ebp - 0x5e8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
add esp, 0x18
jmp 0x5d9bd7
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0x254]
add eax, 0xa0
call fcn.00405c5c
jmp 0x5d9bd7
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0x254]
add eax, 0xa0
call fcn.00405c5c
mov ecx, str.cond
test ecx, ecx
je 0x5d9bea
cmp word [str.cond], 0
jne 0x5d9bee
xor eax, eax
jmp 0x5d9bf3
mov eax, 1
mov byte [ebp - 0x60d], al
cmp dword [ebp - 0x8c], 0
jne 0x5d9c0f
cmp byte [ebp - 0x60d], 0
jne 0x5d9c0f
mov dl, 1
jmp 0x5d9c8a
cmp dword [ebp - 0x8c], 0
jne 0x5d9c25
cmp byte [ebp - 0x60d], 0
je 0x5d9c25
xor edx, edx
jmp 0x5d9c8a
cmp dword [ebp - 0x8c], 0
je 0x5d9c3b
cmp byte [ebp - 0x60d], 0
jne 0x5d9c3b
xor edx, edx
jmp 0x5d9c8a
push str.cond
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x614], eax
cmp dword [ebp - 0x614], 0
jne 0x5d9c59
xor ecx, ecx
jmp 0x5d9c79
mov eax, dword [ebp - 0x614]
cmp dword [eax + 4], 0
je 0x5d9c70
mov edx, dword [ebp - 0x614]
mov ecx, dword [edx + 4]
jmp 0x5d9c79
mov ecx, dword [ebp - 0x614]
add ecx, 8
push ecx
call fcn.005647a8
add esp, 8
test eax, eax
sete dl
and edx, 1
test dl, dl
je 0x5d9d22
mov word [edi + 0x10], 0x914
xor eax, eax
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x22c]
inc dword [edi + 0x1c]
mov word [edi + 0x10], 0x920
mov word [edi + 0x10], 0x92c
mov edx, dword [ebp - 0x254]
add edx, 0xa0
call fcn.0040a218
inc dword [edi + 0x1c]
lea edx, [ebp - 0x228]
call fcn.0066a3dc
dec dword [edi + 0x1c]
cmp dword [ebp - 0x22c], 0
je 0x5d9ceb
mov eax, dword [ebp - 0x22c]
call fcn.00408920
mov word [edi + 0x10], 0x920
lea eax, [ebp - 0x228]
call fcn.00406888
mov byte [ebp - 0x29d], al
mov byte [ebp - 0x5e1], 0
dec dword [edi + 0x1c]
lea eax, [ebp - 0x228]
mov edx, 2
call fcn.00405500
mov word [edi + 0x10], 0x8a8
cmp byte [ebp - 0x5e1], 0
je 0x5d9d60
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [ebp - 0x254]
add edx, 0xa0
push edx
mov ecx, dword [ebp - 0x8c]
push ecx
push pe_nt_image_headers32
mov eax, dword [ebp - 0x254]
mov edx, dword [eax + 0x10]
push edx
mov ecx, dword [edx]
call dword [ecx + 0x28]
add esp, 0x14
dec dword [edi + 0x1c]
cmp dword [ebp - 0x90], 0
je 0x5d9d77
mov eax, dword [ebp - 0x90]
call fcn.00408920
mov word [edi + 0x10], 0x8a8
dec dword [edi + 0x1c]
cmp dword [ebp - 0x8c], 0
je 0x5d9d94
mov eax, dword [ebp - 0x8c]
call fcn.00408920
mov word [edi + 0x10], 0x14c
jmp 0x5d549a
dec dword [edi + 0x1c]
cmp dword [ebp - 0x2c], 0
je 0x5d9db0
mov eax, dword [ebp - 0x2c]
call fcn.00408920
mov word [edi + 0x10], 0x14c
mov word [edi + 0x10], 0
jmp 0x5d41e8
xor eax, eax
mov edx, dword [edi]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret