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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov ebx, ecx
mov ebp, dword [ebx]
cmp dword [ebx + 0x6c], 0
mov dword [esp + 0x18], ebp
mov dword [esp + 4], ebx
je 0x5f378f
mov eax, dword [ebx + 0x14]
mov ecx, edx
sub ecx, dword [ebx + 4]
sar ecx, 1
cmp byte [eax + ecx], 0
je 0x5f378f
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x64], eax
cmp dword [ebp], 0
je 0x5f37ef
mov dword [esp + 0x20], 1
cmp edx, dword [esp + 0xb0]
jb 0x5f37ac
jmp 0x5f898c
mov dword [esp + 0x20], 0
mov dword [esp + 0x64], 0
cmp edx, dword [esp + 0xb0]
jae 0x5f898c
mov eax, dword [esp + 0xb4]
lea ecx, [eax + 8]
mov dword [esp + 0x10], ecx
lea eax, [eax + 0xc]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 4]
lea eax, [ecx + 0x20]
mov dword [esp + 0x38], eax
lea eax, [ecx + 0xc0]
mov dword [esp + 0x28], eax
lea eax, [ecx + 0xc8]
mov dword [esp + 0x98], eax
lea eax, [ecx + 0x3c]
mov dword [esp + 0x58], eax
jmp 0x5f8470
mov dword [esp], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x24]
cmp edx, 0x7f8
ja 0x5f3959
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
mov edx, dword [esp]
mov dword [edi + 0x20], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov eax, dword [esp + 0xb4]
mov ecx, eax
mov eax, dword [ecx + 8]
mov dword [edi], eax
mov dword [ecx + 8], edi
mov dword [ebx + 0x18], edi
mov dword [edi + 0x10], 0x6f5c5c
mov eax, edx
sub eax, dword [ebx + 4]
sar eax, 1
mov dword [edi + 0x18], eax
sub esp, 4
lea eax, [esp + 0x80]
mov ecx, ebx
push eax
push 0
push dword [esp + 0xbc]
call fcn.0061a5e0
add esp, 0x10
mov dword [edi + 0x20], eax
mov dword [esp + 0x20], 0
test eax, eax
mov ecx, 0
mov dword [esp + 0x2c], eax
cmovns ecx, eax
mov dword [esp + 0x10], ecx
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x5f8b2e
mov eax, dword [esp + 0x10]
lea eax, [eax*4 + 0xc]
mov edx, 0x11
mov ecx, esi
push 0
push 2
push eax
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f38f8
or byte [eax + 1], 0x28
mov dword [esp + 0x20], 0
cmp dword [esi], 0
jne 0x5f8b2e
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f3927
mov byte [eax], 0x3b
mov dword [esp + 0x20], 0
cmp dword [esi], 0
jne 0x5f8b2e
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x10]
cmp edx, 0x7f8
ja 0x5f8a7d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f8aa8
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x5f8a65
mov eax, dword [ebp + 0x30]
mov dword [edi], eax
mov dword [ebp + 0x30], edi
mov dword [edi + 4], 0x24
cmp dword [ebp], 0
mov edx, dword [esp]
jne 0x5f3779
add edi, 8
jmp 0x5f3811
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x5f8ae7
mov eax, dword [edi + 0x30]
mov dword [ebp], eax
mov dword [edi + 0x30], ebp
mov dword [ebp + 4], 0x14
cmp dword [edi], 0
mov edx, dword [esp]
jne case.0x5f8484.97
add ebp, 8
lea eax, [edi + 0x30]
mov dword [esp + 8], eax
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 0
mov dword [ebp + 4], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov dword [ebp], eax
mov dword [ebp + 0x10], edx
mov dword [ecx], ebp
movzx eax, word [edx]
cmp eax, 0x9f
mov ebx, dword [esp + 4]
je 0x5f3db2
movzx eax, ax
cmp eax, 0x9d
jne 0x5f3da5
cmp dword [edi], 0
jne 0x5f7e08
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f489d
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f48cc
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x5f8484.97
mov dword [esp], edx
mov ebp, dword [esp + 0x18]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x14]
cmp edx, 0x7f8
ja 0x5f4051
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f408a
movzx eax, word [edx + 2]
movzx eax, word [edx + eax*2]
add eax, 0xffffff9e
movzx eax, ax
cmp eax, 0xb
ja 0x5f3ff3
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.0060d530
jmp 0x5f8970
mov eax, dword [esp + 4]
mov ebp, dword [eax]
xor edi, edi
cmp dword [ebp], 0
jne 0x5f8975
mov eax, dword [esp + 4]
mov esi, dword [eax + 0xc8]
mov dword [esp], edx
movzx ebx, word [edx + 2]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x18]
cmp edx, 0x7f8
mov edi, ebp
ja 0x5f47a8
mov dword [esp + 8], edi
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
mov edx, dword [esp]
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x10], 0
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 0
mov dword [ebp + 4], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov dword [ebp], eax
mov dword [ebp + 0x10], edx
mov dword [ecx], ebp
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
lea edx, [eax + ebx*2]
sub esp, 4
mov ecx, edi
lea eax, [esp + 0x80]
push eax
push 1
push 0
call fcn.0061a5e0
add esp, 0x10
cmp eax, 0xfffffffe
jne 0x5f4b17
mov eax, dword [edi + 4]
lea esi, [eax + ebx*2]
mov ecx, edi
mov edx, esi
call fcn.005fd430
mov ecx, edi
movzx edi, word [esi + 2]
movzx edx, word [esi + edi*2]
lea esi, [esi + edi*2]
cmp edx, 0x77
je 0x5f3b63
sub esp, 8
mov edx, eax
push ebp
push esi
call fcn.005f3740
add esp, 0x10
mov dword [ebp + 0x14], 1
jmp 0x5f7ae9
mov eax, dword [esp + 4]
mov edi, dword [eax]
cmp dword [edi], 0
jne case.0x5f8484.97
mov dword [esp], edx
mov esi, dword [edi + 0x30]
mov ecx, dword [esi + 4]
lea edx, [ecx + 0x14]
cmp edx, 0x7f8
ja 0x5f414f
lea eax, [esi + ecx + 8]
mov dword [esi + 4], edx
mov edx, dword [esp]
jmp 0x5f4186
movzx eax, word [edx + 2]
cmp eax, 0x81
jb 0x5f401d
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00616e30
jmp 0x5f8970
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x5f8484.97
mov esi, edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x18]
cmp edx, 0x7f8
ja 0x5f4231
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f426c
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x5f8484.97
mov dword [esp], edx
mov ebp, dword [esp + 0x18]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x14]
cmp edx, 0x7f8
ja 0x5f4350
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f4389
mov ebx, dword [esp + 4]
cmp dword [ebx + 0xcc], 0
jne 0x5f3d04
mov esi, dword [ebx]
mov eax, dword [ebx + 0x10]
mov ebp, edx
movzx edi, word [edx + 2]
mov bl, byte [eax + edi]
test bl, bl
jne 0x5f3c9a
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1c]
lea eax, [eax + edi*4]
mov edx, 0x20
mov ecx, esi
push eax
push 0x8d
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
lea eax, [eax + edi*8 + 4]
mov edx, 0x20
mov ecx, esi
push 0
push 0xc
push eax
push 0x8d
call fcn.005f26a0
add esp, 0x10
test bl, bl
mov edx, ebp
jne 0x5f3d04
shl edi, 3
mov eax, dword [esp + 0x38]
add edi, dword [eax]
mov edx, 0x20
mov ecx, esi
push 0
push 1
push edi
push 0x8d
call fcn.005f26a0
mov edx, ebp
add esp, 0x10
jmp 0x5f3d04
add edx, 2
nop dword [eax]
mov eax, edx
movzx ecx, word [eax + 2]
movzx edx, word [eax + ecx*2]
lea eax, [eax + ecx*2]
cmp edx, 0x77
mov edx, eax
je 0x5f3cf0
add edx, 4
jmp 0x5f7e0b
add edx, 2
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
lea eax, [eax + 4]
cmove eax, dword [esp + 0x2c]
sub esp, 4
mov edi, edx
movzx edx, si
mov ecx, dword [esp + 8]
push 1
push eax
push edi
jmp 0x5f84c6
lea edi, [edx + 4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
lea eax, [eax + 4]
cmove eax, dword [esp + 0x2c]
sub esp, 4
mov ecx, dword [esp + 8]
push 0
push 1
push eax
jmp 0x5f3d98
lea edi, [edx + 6]
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
test eax, eax
lea eax, [eax + 4]
mov ebp, dword [esp + 0x2c]
cmove eax, ebp
sub esp, 0xc
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov dword [esp + 0xc], edx
push eax
call fcn.00614a40
add esp, 0x10
mov eax, dword [esi]
test eax, eax
lea eax, [eax + 4]
cmove eax, ebp
sub esp, 4
mov ecx, ebx
mov edx, dword [esp + 4]
push 0
push 1
push eax
call fcn.006133b0
add esp, 0x10
jmp 0x5f897d
cmp dword [ebx + 0xcc], 0
je 0x5f461d
cmp dword [ebx + 0xb8], 0
mov eax, dword [edi]
je 0x5f3e59
test eax, eax
jne 0x5f7e08
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f4737
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f4766
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f4694
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x30]
mov dword [eax], ecx
mov dword [edx + 0x30], eax
mov ebx, eax
mov dword [eax + 4], 0x20
xor edi, edi
cmp dword [edx], 0
jne 0x5f8975
add ebx, 8
jmp 0x5f859b
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
lea ebp, [eax + 4]
cmove ebp, dword [esp + 0x2c]
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
mov dword [esp + 0x7c], 0
xor edi, edi
mov ebx, edx
mov dword [esp + 0x1c], ebp
mov dword [esp], edx
jmp 0x5f3e90
test eax, eax
jne 0x5f7e08
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f4a97
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f4ac6
xor ecx, ecx
jmp 0x5f3fd0
cmp ebx, dword [esp + 0xb0]
jae 0x5f47f3
movzx eax, word [ebx]
cmp eax, 0x1e
je 0x5f3ed5
xor ecx, ecx
movzx eax, ax
cmp eax, 0x1d
jne 0x5f3fd0
mov eax, dword [esp + 4]
cmp dword [eax + 0x110], 0
je 0x5f3f18
movzx eax, word [ebx + 2]
and eax, 0xfc00
xor ecx, ecx
cmp eax, 0xd800
jmp 0x5f3fcc
lea edx, [ebx + 2]
mov eax, dword [esp + 4]
cmp dword [eax + 0x110], 0
movzx eax, word [ebx + 2]
je 0x5f3f22
mov ecx, eax
and ecx, 0xfc00
mov dword [esp + 8], ecx
cmp ecx, 0xd800
jne 0x5f3f60
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebx + 4]
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x5f3f67
mov ecx, 1
jmp 0x5f3fd0
mov ecx, 1
cmp eax, 0x100
jae 0x5f3fd0
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x54]
movzx ebp, byte [ecx + eax]
mov ecx, 1
cmp ebp, eax
mov ebp, dword [esp + 0x1c]
je 0x5f3fd0
mov ecx, dword [esp + 4]
call fcn.006206d0
xor ecx, ecx
test eax, eax
setne cl
jmp 0x5f3fd0
cmp eax, 0x80
jb 0x5f3fa2
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov ebp, ecx
and ebp, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x6f7ff0]
shl ecx, 7
sub eax, ebp
add eax, ecx
movzx eax, word [eax + eax + 0x6fa1f0]
cmp dword [eax*8 + 0x6f6974], 0
mov ebp, dword [esp + 0x1c]
jne 0x5f3fb1
jmp 0x5f3fc2
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x54]
movzx ecx, byte [ecx + eax]
cmp eax, ecx
je 0x5f3fc2
mov ecx, dword [esp + 4]
call fcn.006206d0
test eax, eax
je 0x5f3e85
xor ecx, ecx
cmp dword [esp + 8], 0xd800
sete cl
inc ecx
lea edi, [edi + ecx*2]
test ecx, ecx
je 0x5f47f0
lea ebx, [ebx + ecx*2 + 2]
cmp edi, 0x81
mov edx, dword [esp]
jl 0x5f3e90
jmp 0x5f47f3
add edx, 2
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
lea eax, [eax + 4]
cmove eax, dword [esp + 0x2c]
sub esp, 4
mov esi, edx
mov edx, 0x70
mov ecx, dword [esp + 8]
push 1
push eax
push esi
jmp 0x5f84c6
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x5f8484.97
mov edi, edx
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x24]
cmp edx, 0x7f8
ja 0x5f46ad
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f46e1
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8a74
mov ecx, dword [ebp + 0x30]
mov dword [eax], ecx
mov dword [ebp + 0x30], eax
mov dword [eax + 4], 0x14
cmp dword [ebp], 0
jne case.0x5f8484.97
add eax, 8
mov ebp, dword [esp + 0x18]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [esp]
mov dword [eax + 0x10], ecx
mov dword [edx], eax
mov edx, 0x20
mov ecx, ebp
mov ebx, dword [esp + 4]
push dword [ebx + 0x20]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov esi, dword [ebx]
xor edi, edi
cmp dword [esi], 0
jne 0x5f51f5
mov edx, 0x11
mov ecx, esi
push 0
push 2
push 4
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f40fa
or byte [eax + 1], 0x28
xor edi, edi
cmp dword [esi], 0
jne 0x5f51f5
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4123
mov byte [eax], 0x3b
xor edi, edi
cmp dword [esi], 0
jne 0x5f51f5
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f4ed4
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f4f01
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8ae7
mov ecx, dword [edi + 0x30]
mov dword [eax], ecx
mov dword [edi + 0x30], eax
mov dword [eax + 4], 0x14
cmp dword [edi], 0
mov edx, dword [esp]
jne case.0x5f8484.97
add eax, 8
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx]
mov dword [eax], esi
mov dword [eax + 0x10], edx
mov dword [esp + 8], eax
mov dword [ecx], eax
mov eax, dword [esp + 4]
mov esi, dword [eax]
xor ebx, ebx
cmp dword [esi], 0
jne 0x5f52af
mov edx, 0x11
mov ecx, esi
push 0
push 2
push 0x38
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f41dc
or byte [eax + 1], 0x28
xor ebx, ebx
cmp dword [esi], 0
jne 0x5f52af
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4205
mov byte [eax], 0x3b
xor ebx, ebx
cmp dword [esi], 0
jne 0x5f52af
mov ebx, dword [esi + 0x30]
mov ecx, dword [ebx + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f4f43
lea eax, [ebx + ecx + 8]
mov dword [ebx + 4], edx
jmp 0x5f4f6e
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x5f8cf9
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x30]
mov dword [ebp], eax
mov dword [ecx + 0x30], ebp
mov dword [ebp + 4], 0x18
cmp dword [ecx], 0
jne case.0x5f8484.97
add ebp, 8
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x10], 0
mov dword [ebp + 0xc], 0
mov dword [ebp + 8], 0
mov dword [ebp + 4], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov dword [ebp], eax
mov dword [ebp + 0x10], esi
mov dword [ecx], ebp
add esi, 2
mov edi, esi
mov edx, dword [esp + 4]
nop word cs:[eax + eax]
movzx ecx, word [edi + 2]
movzx eax, word [edi + ecx*2]
lea edi, [edi + ecx*2]
cmp eax, 0x77
je 0x5f42b0
movzx eax, ax
cmp eax, 0x7a
mov ebx, edx
mov ebx, dword [ebx]
mov eax, dword [ebx]
jne 0x5f445e
xor esi, esi
test eax, eax
jne 0x5f60a0
mov edx, 0x11
mov ecx, ebx
push 0
push 2
push 8
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f42fb
or byte [eax + 1], 0x28
xor esi, esi
cmp dword [ebx], 0
jne 0x5f60a0
mov edx, 1
mov ecx, ebx
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4324
mov byte [eax], 0x3b
xor esi, esi
cmp dword [ebx], 0
jne 0x5f60a0
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f5d5a
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f5d87
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8a74
mov ecx, dword [ebp + 0x30]
mov dword [eax], ecx
mov dword [ebp + 0x30], eax
mov dword [eax + 4], 0x14
cmp dword [ebp], 0
jne case.0x5f8484.97
add eax, 8
mov ebp, dword [esp + 0x18]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [esp]
mov dword [eax + 0x10], ecx
mov dword [edx], eax
mov edx, 0x20
mov ecx, ebp
mov ebx, dword [esp + 4]
push dword [ebx + 0x3c]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edi, dword [ebx]
xor esi, esi
cmp dword [edi], 0
jne 0x5f5762
cmp dword [ebx + 0x68], 0
mov eax, 0x14
mov ecx, 4
cmove eax, ecx
mov edx, 0x11
mov ecx, edi
push 0
push 2
push eax
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4409
or byte [eax + 1], 0x28
xor esi, esi
cmp dword [edi], 0
jne 0x5f5762
mov edx, 1
mov ecx, edi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4432
mov byte [eax], 0x3b
xor esi, esi
cmp dword [edi], 0
jne 0x5f5762
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f4fb4
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f4fe1
xor esi, esi
test eax, eax
jne 0x5f6150
mov edx, 0x11
mov ecx, ebx
push 0
push 2
push 4
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4487
or byte [eax + 1], 0x28
xor esi, esi
cmp dword [ebx], 0
jne 0x5f6150
mov edx, 1
mov ecx, ebx
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f44b0
mov byte [eax], 0x3b
xor esi, esi
cmp dword [ebx], 0
jne 0x5f6150
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f5dc9
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f5df6
movzx ecx, word [edx + 4]
lea eax, [ecx*4]
add eax, dword [ebx + 0x1c]
mov dword [esp + 0x44], eax
add ecx, ecx
lea eax, [edx + 6]
mov dword [esp + 0x24], eax
mov dword [esp + 8], ecx
sub esp, 4
mov ecx, ebx
push esi
push 0
push 0
call fcn.0061a5e0
add esp, 0x10
mov ecx, eax
mov esi, dword [esp + 0x1c]
mov dword [esi + 0x18], ecx
test ecx, ecx
mov dword [esp + 0x48], ecx
js 0x5f45fe
movzx eax, word [esp + 0x50]
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], eax
cmp eax, 0x94
mov edx, 0
mov eax, 0xffffffff
cmove edx, eax
add edx, ecx
cmp dword [esp + 8], 1
adc edx, 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
cmp eax, 1
sbb edx, 0xffffffff
add edx, 2
mov dword [esp + 0x3c], edx
mov dword [esi + 0x1c], edx
mov esi, dword [ebx]
cmp dword [esi], 0
mov ebp, edi
jne 0x5f5b45
mov eax, dword [esp + 0x3c]
lea eax, [eax*4]
mov edx, 0x11
mov ecx, esi
push 0
push 2
push eax
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f459d
or byte [eax + 1], 0x28
mov dword [esp + 0xc], 0
cmp dword [esi], 0
jne 0x5f5b45
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f45cc
mov byte [eax], 0x3b
mov dword [esp + 0xc], 0
cmp dword [esi], 0
jne 0x5f5b45
mov edi, dword [esi + 0x30]
mov ecx, dword [edi + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f517c
lea eax, [edi + ecx + 8]
mov dword [edi + 4], edx
jmp 0x5f51a7
mov ecx, dword [esp + 8]
test ecx, ecx
mov ebp, edi
je 0x5f490e
cmp dword [ebx + 0x44], 1
mov eax, 3
sbb eax, 0
jmp 0x5f4913
cmp dword [ebx + 0x60], 0
je 0x5f3db2
cmp dword [ebx + 0xb8], 0
mov eax, dword [edi]
je 0x5f4b9d
test eax, eax
jne 0x5f7369
mov eax, dword [edi + 0x58]
mov ecx, dword [esp + 0x38]
add eax, dword [ecx]
mov edx, 1
mov ecx, edi
push eax
push 0x8d
push 0
push 0xc
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4667
mov byte [eax], 0x3b
cmp dword [edi], 0
jne 0x5f7369
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f5fec
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f601b
mov eax, dword [esp + 0x14]
mov dword [eax], 2
xor edi, edi
test edi, edi
jne 0x5f897d
jmp case.0x5f8484.97
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8a54
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 0x24
cmp dword [esi], 0
jne case.0x5f8484.97
add eax, 8
mov dword [eax + 0x20], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov esi, dword [esp + 0x10]
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, edi
mov dword [eax + 0x10], edx
mov dword [esi], eax
sub esp, 8
mov ecx, dword [esp + 0xc]
push 0
push eax
jmp 0x5f8965
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7dff
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x30000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 5
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f49e2
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f4a0d
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5b22
mov ecx, dword [edi + 0x30]
mov dword [eax], ecx
mov dword [edi + 0x30], eax
mov ecx, eax
mov dword [eax + 4], 0x18
mov eax, edi
xor edi, edi
cmp dword [eax], 0
mov edx, dword [esp]
jne 0x5f8975
mov dword [esp + 8], eax
mov ebp, ecx
add ebp, 8
jmp 0x5f3af5
mov edx, dword [esp]
mov dword [esp + 0x7c], edi
test edi, edi
jle 0x5f4879
mov esi, dword [esp + 0x14]
cmp dword [esi], 0
mov ebx, dword [esp + 4]
jne 0x5f79e8
mov ebp, edx
mov edx, 0x11
mov ecx, esi
push 0
push 0xc
push edi
push 0x40
call fcn.005fdd90
mov edx, ebp
add esp, 0x10
cmp dword [esi], 0
jne 0x5f79e8
mov edx, 1
mov ecx, esi
push 0
push 0xb
push 0
push 0xc
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f484d
mov byte [eax], 0x3b
cmp dword [esi], 0
mov edx, ebp
jne 0x5f79e8
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f5e38
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f5e69
add edx, 2
sub esp, 4
mov eax, edx
movzx edx, si
mov ebx, dword [esp + 8]
mov ecx, ebx
push 1
push ebp
push eax
call fcn.00609bc0
add esp, 0x10
mov edx, eax
jmp 0x5f7a39
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7dff
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x30000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 5
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f4a37
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f4a62
mov eax, 1
mov edi, ebx
movzx esi, word [esp + 0x50]
xor edx, edx
mov dword [esp + 0xc], esi
cmp esi, 0x94
setne dl
mov esi, dword [esp + 0x7c]
xor ebx, ebx
mov dword [esp + 0x34], esi
test esi, esi
setne bl
add edx, eax
mov dword [esp + 0x30], ebx
add edx, ebx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1c], edx
mov esi, dword [edi]
xor eax, eax
cmp dword [esi], 0
mov ebx, edi
jne 0x5f639d
mov eax, dword [esp + 0x3c]
lea eax, [eax*4]
mov edx, 0x11
mov ecx, esi
push 0
push 2
push eax
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4983
or byte [eax + 1], 0x28
xor eax, eax
cmp dword [esi], 0
mov ecx, dword [esp + 8]
jne 0x5f639d
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f49b0
mov byte [eax], 0x3b
xor eax, eax
cmp dword [esi], 0
mov ecx, dword [esp + 8]
jne 0x5f639d
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f5eaf
lea ecx, [eax + ecx + 8]
mov dword [eax + 4], edx
mov eax, ecx
jmp 0x5f5eda
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov edx, dword [esp]
mov word [eax], pe_nt_image_headers32
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x5f7e08
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x5f7e08
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov edx, dword [esp]
mov word [eax], pe_nt_image_headers32
cmp dword [edi], 0
jne 0x5f7e08
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f4bfb
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f4c28
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7dff
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x30000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 5
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f4b3d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f4b68
mov dword [esp + 0x24], 0
mov edx, dword [esp]
mov edi, dword [esp + 0x14]
mov ebx, ebp
jmp case.0x5f8641.1
mov dword [esp + 0x1c], ebp
test esi, esi
je 0x5f4c3b
mov edx, dword [esp]
mov ebp, esi
cmp dword [ebp + 0xc], ebx
je 0x5f4d05
mov esi, dword [ebp]
test esi, esi
jne 0x5f4b26
jmp 0x5f4c3d
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov edx, dword [esp]
mov word [eax], pe_nt_image_headers32
cmp dword [edi], 0
jne 0x5f7e08
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f4e8e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f4ebb
test eax, eax
jne 0x5f7369
mov eax, dword [edi + 0x58]
mov ecx, dword [esp + 0x38]
add eax, dword [ecx]
mov edx, 1
mov ecx, edi
push eax
push 0x8d
push 0
push 0xc
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4bce
mov byte [eax], 0x3b
cmp dword [edi], 0
jne 0x5f7369
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f72a4
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f72d3
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov edx, dword [esp]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebp + 0xc], eax
jmp 0x5f7e08
xor ebp, ebp
xor edi, edi
mov esi, dword [esp + 8]
cmp dword [esi], 0
jne 0x5f8975
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x10]
cmp edx, 0x7f8
mov edi, esi
ja 0x5f5ae4
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
mov edx, dword [esp]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], ebx
test ebp, ebp
cmove ebp, dword [esp + 0x98]
mov dword [ebp], eax
mov ebp, eax
jmp 0x5f4d09
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f4df8
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 0x10
add eax, 8
mov dword [eax], 0
mov dword [eax + 8], 0x4000
mov edx, dword [esi + 0x1c]
lea ecx, [esi + 0xc]
test edx, edx
cmovne ecx, edx
mov dword [ecx], eax
mov dword [esp], eax
mov dword [esi + 0x1c], eax
add dword [esi + 0x48], 6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f4dc7
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f4dee
mov edi, dword [esp + 8]
mov esi, dword [esp + 4]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x5f5023
test ecx, ecx
je 0x5f502b
mov edx, 0x20
mov dword [esp + 8], edi
mov ecx, edi
push dword [esi + 0x20]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edi, dword [esi]
xor eax, eax
cmp dword [edi], 0
jne 0x5f8024
mov edx, 0x11
mov ecx, edi
push 0
push 2
push 8
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4d6e
or byte [eax + 1], 0x28
xor eax, eax
cmp dword [edi], 0
jne 0x5f8024
mov edx, 1
mov ecx, edi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f4d97
mov byte [eax], 0x3b
xor eax, eax
cmp dword [edi], 0
jne 0x5f8024
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f7e85
lea ecx, [eax + ecx + 8]
mov dword [esp + 0x14], ecx
mov dword [eax + 4], edx
jmp 0x5f7eb6
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f4df8
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov eax, dword [esp]
jmp 0x5f4e00
mov dword [esi], 2
xor eax, eax
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x5f4e67
mov dword [esp], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f4e24
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f4e4d
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x5f4e86
mov eax, dword [esi + 0x30]
mov dword [ebx], eax
mov dword [esi + 0x30], ebx
mov dword [ebx + 4], 0xc
add ebx, 8
mov eax, dword [esp]
mov dword [ebx], eax
mov ecx, esi
call fcn.005f3660
mov dword [ebx + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [ebx + 8], eax
mov dword [ecx], ebx
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
jmp 0x5f897d
mov dword [esi], 2
jmp 0x5f4e67
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov edx, dword [esp]
mov ecx, dword [ebx + 0xe0]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebx + 0xe0], eax
jmp 0x5f7e08
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x5f51ed
mov eax, dword [esi + 0x30]
mov dword [edi], eax
mov dword [esi + 0x30], edi
mov dword [edi + 4], 0x10
add edi, 8
mov dword [edi], 0
mov dword [edi + 8], 0x4000
mov eax, dword [esi + 0x1c]
lea ecx, [esi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], edi
mov dword [esi + 0x1c], edi
add dword [esi + 0x48], 6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f50d9
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5104
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f52a7
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 0x10
add eax, 8
mov dword [eax], 0
mov dword [eax + 8], 0x4000
mov edx, dword [esi + 0x1c]
lea ecx, [esi + 0xc]
test edx, edx
cmovne ecx, edx
mov dword [ecx], eax
mov dword [esp + 0x1c], eax
mov dword [esi + 0x1c], eax
add dword [esi + 0x48], 6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f510e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5139
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f575a
mov eax, dword [edi + 0x30]
mov dword [esi], eax
mov dword [edi + 0x30], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x4000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f5147
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5172
test ecx, ecx
je 0x5f80e4
test eax, eax
mov eax, dword [esp + 0x38]
cmove eax, dword [esp + 0x58]
mov edx, 0x20
mov dword [esp + 8], edi
mov ecx, edi
push dword [eax]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edi, dword [esi]
xor eax, eax
cmp dword [edi], 0
jne 0x5f7f92
mov edx, 0x11
mov ecx, edi
push 0
push 2
push 4
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f5080
or byte [eax + 1], 0x28
xor eax, eax
cmp dword [edi], 0
jne 0x5f7f92
mov edx, 1
mov ecx, edi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f50a9
mov byte [eax], 0x3b
xor eax, eax
cmp dword [edi], 0
jne 0x5f7f92
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f7e12
lea ecx, [eax + ecx + 8]
mov dword [esp + 0x14], ecx
mov dword [eax + 4], edx
jmp 0x5f7e43
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f51ed
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
jmp 0x5f51f5
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f52a7
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov ebx, dword [esp + 0x1c]
jmp 0x5f52af
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f575a
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
jmp 0x5f5762
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5b37
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 0x10
add eax, 8
mov dword [eax], 0
mov dword [eax + 8], 0x4000
mov edx, dword [esi + 0x1c]
lea ecx, [esi + 0xc]
test edx, edx
cmovne ecx, edx
mov dword [ecx], eax
mov dword [esp + 0xc], eax
mov dword [esi + 0x1c], eax
add dword [esi + 0x48], 6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f5ab6
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5add
mov dword [esi], 2
xor edi, edi
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x5f525c
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f5216
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f5240
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x5f529f
mov eax, dword [esi + 0x30]
mov dword [ebp], eax
mov dword [esi + 0x30], ebp
mov dword [ebp + 4], 0xc
add ebp, 8
mov dword [ebp], edi
mov ecx, esi
call fcn.005f3660
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [ebp + 8], eax
mov dword [ecx], ebp
mov ebp, dword [esp + 0x18]
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
mov eax, dword [esp + 0x40]
push dword [eax]
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edi, dword [esp]
add edi, 2
jmp 0x5f897d
mov dword [esi], 2
jmp 0x5f5258
mov dword [esi], 2
xor ebx, ebx
mov ebp, dword [esp + 4]
mov esi, dword [ebp]
cmp dword [esi], 0
jne 0x5f531f
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f52d5
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f5303
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x5f568a
mov eax, dword [esi + 0x30]
mov dword [ebp], eax
mov dword [esi + 0x30], ebp
mov dword [ebp + 4], 0xc
add ebp, 8
mov dword [ebp], ebx
mov ecx, esi
call fcn.005f3660
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [ebp + 8], eax
mov dword [ecx], ebp
mov ebp, dword [esp + 4]
mov edx, 0x20
mov ecx, edi
push dword [ebp + 0x44]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 8
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp]
movzx eax, word [eax + 2]
mov edx, 0x26
mov ecx, edi
push eax
push 0x40
push 4
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x26
mov ecx, edi
push 0
push 3
push 0x20
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push dword [ebp + 0x20]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 0xc
push 8
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 3
push 0xc
push 0x82
call fcn.005f26a0
add esp, 0x10
cmp dword [ebp + 0x3c], 0
mov ebx, ebp
je 0x5f53fc
mov edx, 0x20
mov ecx, edi
push 0x14
push 0x81
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov esi, dword [esp]
movzx eax, word [esi + 4]
mov edx, 0x26
mov ecx, edi
push eax
push 0x40
push 0x28
push 0x82
call fcn.005f26a0
add esp, 0x10
movzx eax, word [esi + 6]
mov edx, 0x26
mov ecx, edi
push eax
push 0x40
push 0x2c
push 0x82
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp + 0x58]
cmp dword [eax], 0
mov eax, 3
mov ecx, 0x40
cmove eax, ecx
mov edx, 0x20
mov ecx, edi
push 0
push eax
push 0x30
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 2
push 0
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 2
push 0
push 2
call fcn.005f26a0
add esp, 0x10
cmp dword [edi], 0
je 0x5f5551
sub esp, 0xc
mov edx, 0x1113
mov ecx, edi
push 0x6211e0
call fcn.005fc750
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 0x8d
push 0
push 2
call fcn.005f26a0
add esp, 0x10
mov ecx, dword [ebx]
cmp dword [ecx], 0
jne 0x5f54ed
mov edx, 0x11
push 0
push 2
push 0x38
push 0x40
call fcn.005fdd90
add esp, 0x10
mov ecx, dword [edi]
test ecx, ecx
jne 0x5f5518
mov edx, 0x11
mov ecx, edi
push 0
push 1
push 0
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f5512
or byte [eax + 1], 0x38
mov ecx, dword [edi]
test ecx, ecx
je 0x5f5585
cmp dword [ebx + 0xb4], 0
je 0x5f597b
test ecx, ecx
mov edx, dword [esp]
jne 0x5f5982
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f55cd
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f55fa
mov eax, dword [edi + 0x58]
mov ecx, dword [esp + 0x38]
add eax, dword [ecx]
je 0x5f55a6
mov edx, 1
mov ecx, edi
push eax
push 0x8d
push 0
push 3
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f54a0
mov byte [eax], 0x8d
jmp 0x5f54a0
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f5695
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f56c2
mov edx, 1
mov ecx, edi
push 0
push 3
push 0
push 0xd
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f54a0
mov byte [eax], 0x89
jmp 0x5f54a0
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f5aa5
mov eax, dword [edi + 0x30]
mov dword [esi], eax
mov dword [edi + 0x30], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f5635
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5660
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5aa5
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov edx, dword [esp]
mov word [eax], pe_nt_image_headers32
mov eax, dword [ebx + 0xb4]
test eax, eax
je 0x5f5982
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x5f5982
mov dword [esi], 2
jmp 0x5f531b
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f5963
mov eax, dword [edi + 0x30]
mov dword [esi], eax
mov dword [edi + 0x30], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x10000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f56fd
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5728
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5963
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov ecx, dword [edi]
test ecx, ecx
jne 0x5f5518
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f591c
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
xor ecx, ecx
jmp 0x5f5945
mov dword [edi], 2
xor esi, esi
mov edi, dword [ebx]
cmp dword [edi], 0
jne 0x5f57cd
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f5783
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f57b1
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x5f5911
mov eax, dword [edi + 0x30]
mov dword [ebp], eax
mov dword [edi + 0x30], ebp
mov dword [ebp + 4], 0xc
add ebp, 8
mov dword [ebp], esi
mov ecx, edi
call fcn.005f3660
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [ebp + 8], eax
mov dword [ecx], ebp
mov ebp, dword [esp + 0x18]
mov edx, 0x20
mov ecx, ebp
push 0
push 8
push 0
push 1
call fcn.005f26a0
add esp, 0x10
xor eax, eax
cmp dword [ebx + 0x68], 0
setne al
shl eax, 4
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push eax
push 0x82
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp]
lea esi, [eax + 4]
mov edx, 0x20
mov ecx, ebp
push esi
push 0x40
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push dword [ebx + 0x3c]
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push 0x14
push 0x81
call fcn.005f26a0
add esp, 0x10
cmp dword [ebx + 0x68], 0
je 0x5f5901
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 2
push dword [ebx + 0x40]
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0x40
push 4
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push esi
push 0x40
push 8
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push 0xc
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
mov ecx, dword [esp]
movzx eax, word [ecx + 2]
lea edi, [ecx + eax*2 + 6]
jmp 0x5f897d
mov dword [edi], 2
jmp 0x5f57c9
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5963
mov ecx, dword [edi + 0x30]
mov dword [eax], ecx
mov dword [edi + 0x30], eax
mov dword [eax + 4], 8
add eax, 8
mov ecx, dword [edi]
mov ebp, dword [esp + 8]
mov edx, dword [ebp + 0xc]
mov dword [eax + 4], edx
mov dword [eax], esi
mov dword [ebp + 0xc], eax
cmp dword [ebx + 0xb4], 0
jne 0x5f5525
jmp 0x5f597b
mov dword [edi], 2
mov ecx, 2
cmp dword [ebx + 0xb4], 0
jne 0x5f5525
test ecx, ecx
mov edx, dword [esp]
je 0x5f598a
add edx, 8
jmp 0x5f7e0b
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f59a4
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f59d1
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f5aa5
mov eax, dword [edi + 0x30]
mov dword [esi], eax
mov dword [edi + 0x30], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f5a0c
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5a37
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5aa5
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov edx, dword [esp]
mov word [eax], pe_nt_image_headers32
cmp dword [edi], 0
jne 0x5f5982
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f5a62
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5a89
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5aa5
mov ecx, dword [edi + 0x30]
mov dword [eax], ecx
mov dword [edi + 0x30], eax
mov dword [eax + 4], 8
add eax, 8
mov edx, dword [esp]
mov ecx, dword [ebx + 0xdc]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebx + 0xdc], eax
add edx, 8
jmp 0x5f7e0b
mov dword [edi], 2
mov edx, dword [esp]
add edx, 8
jmp 0x5f7e0b
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5b37
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
jmp 0x5f5b45
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f5b22
mov ecx, dword [edi + 0x30]
mov dword [eax], ecx
mov dword [edi + 0x30], eax
mov dword [eax + 4], 0x10
mov ecx, edi
xor edi, edi
cmp dword [ecx], 0
mov edx, dword [esp]
jne 0x5f8975
add eax, 8
mov edi, ecx
jmp 0x5f4c6d
mov dword [edi], 2
xor edi, edi
test edi, edi
jne 0x5f897d
jmp case.0x5f8484.97
mov dword [esi], 2
mov dword [esp + 0xc], 0
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x5f5bb2
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f5b66
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f5b93
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x5f5d4f
mov eax, dword [esi + 0x30]
mov dword [ebx], eax
mov dword [esi + 0x30], ebx
mov dword [ebx + 4], 0xc
add ebx, 8
mov eax, dword [esp + 0xc]
mov dword [ebx], eax
mov ecx, esi
call fcn.005f3660
mov dword [ebx + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [ebx + 8], eax
mov dword [ecx], ebx
mov ebx, dword [esp + 4]
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 1
call fcn.005f26a0
add esp, 0x10
cmp dword [esp + 0x34], 0
je 0x5f5bf0
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edi, ebx
cmp dword [ebp], 0
je 0x5f5cca
xor esi, esi
cmp dword [esp + 0x30], 0x94
je 0x5f5c27
mov edx, 0x20
mov ecx, ebp
push 1
push 0x40
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
mov esi, 1
cmp dword [esp + 0x34], 0
je 0x5f5c4f
lea eax, [esi*4]
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push eax
push 0x82
call fcn.005f26a0
add esp, 0x10
inc esi
mov ebx, edi
cmp dword [esp + 8], 0
jne 0x5f5c79
lea eax, [esi*4]
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push eax
push 0x82
call fcn.005f26a0
add esp, 0x10
inc esi
lea eax, [esi*4]
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push eax
push 0x82
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp + 0x3c]
dec eax
sub esp, 4
mov ecx, ebx
mov edx, dword [esp + 4]
push 0
push eax
push 0
call fcn.0061aa70
add esp, 0x10
mov ecx, dword [esp + 8]
cmp ecx, 1
mov eax, 1
adc eax, 0
sub esi, eax
jmp 0x5f65f6
mov eax, dword [esp + 0x3c]
lea ebx, [eax*4]
mov esi, dword [ebp + 0x58]
add esi, dword [esp + 0x40]
mov edx, 1
mov ecx, ebp
push ebx
push 0x82
push 0
push 0xe
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f5d21
mov byte [eax], 0x8d
mov edx, 1
mov ecx, ebp
push esi
push 0x8d
push 0
push 0xe
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f5d21
mov byte [eax], 0x89
jmp 0x5f5bfc
cmp dword [ebp], 4
jne 0x5f5bfc
sub esp, 8
mov edx, 0x5030100
mov ecx, ebp
push ebx
push 0x40
push 0
push 2
push esi
push 0x8d
call fcn.005fe850
add esp, 0x20
jmp 0x5f5bfc
mov dword [esi], 2
jmp 0x5f5bae
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f6098
mov eax, dword [ebx + 0x30]
mov dword [esi], eax
mov dword [ebx + 0x30], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x4000
mov eax, dword [ebx + 0x1c]
lea ecx, [ebx + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [ebx + 0x1c], esi
add dword [ebx + 0x48], 6
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f5f1e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5f49
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f6148
mov eax, dword [ebx + 0x30]
mov dword [esi], eax
mov dword [ebx + 0x30], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x4000
mov eax, dword [ebx + 0x1c]
lea ecx, [ebx + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [ebx + 0x1c], esi
add dword [ebx + 0x48], 6
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f5f53
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5f7e
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f79dc
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x30]
mov dword [esi], eax
mov dword [ecx + 0x30], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x8000
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x1c]
lea ecx, [edx + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edx + 0x1c], esi
add dword [edx + 0x48], 6
mov ecx, dword [edx + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f5f88
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f5fb7
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6391
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 0x10
add eax, 8
mov dword [eax], 0
mov dword [eax + 8], 0x4000
mov edx, dword [esi + 0x1c]
lea ecx, [esi + 0xc]
test edx, edx
cmovne ecx, edx
mov dword [ecx], eax
mov edi, eax
mov dword [esi + 0x1c], eax
add dword [esi + 0x48], 6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f605d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f6088
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6098
mov ecx, dword [ebx + 0x2c]
mov dword [eax], ecx
mov dword [ebx + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
jmp 0x5f60a0
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6148
mov ecx, dword [ebx + 0x2c]
mov dword [eax], ecx
mov dword [ebx + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
jmp 0x5f6150
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f79dc
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x2c]
mov dword [eax], ecx
mov dword [edx + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov edx, ebp
mov word [eax], pe_nt_image_headers32
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
jne 0x5f79e8
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f79a2
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f79cd
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7363
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f633f
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f636a
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6391
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov ecx, dword [esp + 8]
mov eax, edi
jmp 0x5f639d
mov dword [ebx], 2
xor esi, esi
mov eax, dword [esp + 4]
mov ebx, dword [eax]
cmp dword [ebx], 0
jne 0x5f610b
mov dword [esp], esi
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f60c8
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f60f1
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f6140
mov eax, dword [ebx + 0x30]
mov dword [esi], eax
mov dword [ebx + 0x30], esi
mov dword [esi + 4], 0xc
add esi, 8
mov eax, dword [esp]
mov dword [esi], eax
mov ecx, ebx
call fcn.005f3660
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esi + 8], eax
mov dword [ecx], esi
mov edx, 0x20
mov esi, dword [esp + 0x18]
mov ecx, esi
push 0
push 0x40
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, esi
push 0
push 0xc
push 4
push 0x82
jmp 0x5f61d5
mov dword [ebx], 2
jmp 0x5f610b
mov dword [ebx], 2
xor esi, esi
mov eax, dword [esp + 4]
mov ebx, dword [eax]
cmp dword [ebx], 0
jne 0x5f61bf
mov dword [esp], esi
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f6178
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f61a5
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f6334
mov eax, dword [ebx + 0x30]
mov dword [esi], eax
mov dword [ebx + 0x30], esi
mov dword [esi + 4], 0xc
add esi, 8
mov eax, dword [esp]
mov dword [esi], eax
mov ecx, ebx
call fcn.005f3660
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esi + 8], eax
mov dword [ecx], esi
mov edx, 0x20
mov esi, dword [esp + 0x18]
mov ecx, esi
push 0
push 0xc
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
add edi, 4
mov ecx, esi
call fcn.005f3660
mov dword [ebp + 0x14], eax
mov ebx, dword [esp + 4]
mov esi, dword [ebx]
sub esp, 8
mov edx, 0x262
mov ecx, esi
push 1
push 0x40
push 0
push 9
push 0
push 9
call fcn.005f2d10
add esp, 0x20
cmp dword [esi], 0
jne 0x5f897d
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f6231
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f625e
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x5f6329
mov eax, dword [esi + 0x30]
mov dword [ebx], eax
mov dword [esi + 0x30], ebx
mov dword [ebx + 4], 0x10
add ebx, 8
mov dword [ebx], 0
mov dword [ebx + 8], 0
mov eax, dword [esi + 0x1c]
lea ecx, [esi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], ebx
mov dword [esi + 0x1c], ebx
add dword [esi + 0x48], 6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f6299
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f62c0
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6329
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [esi], 0
jne 0x5f897d
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f62e8
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f630f
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6329
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 8
add eax, 8
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0xe4]
mov dword [eax + 4], ecx
mov dword [eax], ebx
mov dword [edx + 0xe4], eax
jmp 0x5f897d
mov dword [esi], 2
jmp 0x5f897d
mov dword [ebx], 2
jmp 0x5f61bf
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7363
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x5f7369
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x5f7369
mov dword [esi], 2
xor eax, eax
mov ecx, dword [esp + 8]
mov esi, dword [ebx]
cmp dword [esi], 0
je 0x5f64a0
cmp dword [esp + 0x48], 0xffffffff
je 0x5f651d
test ecx, ecx
je 0x5f6545
mov eax, dword [ebx + 0x20]
lea esi, [ecx*4]
lea eax, [eax + ecx*4]
mov edx, 0x20
mov ecx, ebp
push eax
push 0x8d
push 0
push 1
call fcn.005f26a0
add esp, 0x10
or esi, 4
add esi, dword [ebx + 0x20]
mov edx, 0x20
mov ecx, ebp
push esi
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
mov eax, dword [ebx + 0x44]
test eax, eax
je 0x5f643a
mov edx, 0x20
mov ecx, ebp
push eax
push 0x8d
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push 4
push 0x82
call fcn.005f26a0
add esp, 0x10
cmp dword [esp + 0x34], 0
je 0x5f6476
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
cmp dword [ebx + 0x44], 0
je 0x5f64bc
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push 8
push 0x82
call fcn.005f26a0
add esp, 0x10
mov esi, 3
jmp 0x5f6586
mov edi, eax
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f64c6
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f64f3
mov esi, 2
jmp 0x5f6586
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x5f7108
mov eax, dword [esi + 0x30]
mov dword [ebx], eax
mov dword [esi + 0x30], ebx
mov dword [ebx + 4], 0xc
add ebx, 8
mov dword [ebx], edi
mov ecx, esi
call fcn.005f3660
mov dword [ebx + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [ebx + 8], eax
mov dword [ecx], ebx
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 8]
cmp dword [esp + 0x48], 0xffffffff
jne 0x5f63b3
mov edx, 0x20
mov ecx, ebp
push 0
push 2
push dword [esp + 0x48]
push 0x8d
call fcn.005f26a0
mov ecx, dword [esp + 0x18]
add esp, 0x10
test ecx, ecx
jne 0x5f63bb
cmp dword [esp + 0x34], 0
je 0x5f6567
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
mov esi, 1
mov ecx, dword [esp + 0x30]
add ecx, esi
cmp dword [esp + 0xc], 0x94
je 0x5f65be
lea eax, [ecx*4]
mov edx, 0x20
mov edi, ebx
mov ebx, ecx
mov ecx, ebp
push 1
push 0x40
push eax
push 0x82
call fcn.005f26a0
mov ecx, ebx
mov ebx, edi
add esp, 0x10
cmp dword [esp + 0x34], 0
je 0x5f65ea
lea eax, [ecx*4 - 4]
dec ecx
mov edx, 0x20
mov esi, ecx
mov ecx, ebp
push 0
push 3
push eax
push 0x82
call fcn.005f26a0
add esp, 0x10
jmp 0x5f65f2
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], esi
test ecx, ecx
je 0x5f661a
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push dword [esp + 0x4c]
push 0x8d
call fcn.005f26a0
add esp, 0x10
lea eax, [ebp + 0x30]
mov dword [esp + 0xc], eax
mov ecx, ebp
call fcn.005f3660
mov dword [esp + 0x78], eax
mov esi, dword [esp]
movzx eax, word [esi]
cmp eax, 0x7b
jne 0x5f66cf
mov eax, dword [esp + 0x1c]
add eax, 0xc
mov ecx, eax
xor edi, edi
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x48]
movzx eax, word [esp + 0x50]
cmp eax, 0x94
mov dword [ecx], 0
je 0x5f7a87
test ebx, ebx
mov eax, dword [ebp]
js 0x5f708a
test eax, eax
jne 0x5f7a87
mov eax, dword [esp + 0x3c]
neg eax
shl eax, 2
mov edx, 0x11
mov ecx, ebp
push eax
push 0x83
push 0
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f66a1
or byte [eax + 1], 0x38
cmp dword [ebp], 0
jne 0x5f7a87
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f7113
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f7142
mov edi, dword [esp + 0x1c]
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
sub esp, 8
mov ecx, ebx
mov edx, dword [esp + 0x2c]
push edi
mov dword [esp + 0xc], esi
push esi
call fcn.005f3740
add esp, 0x10
xor edi, edi
cmp dword [ebp], 0
jne 0x5f8975
mov eax, dword [esp + 0x1c]
lea eax, [eax + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 8]
lea ecx, [eax*4]
mov dword [esp + 0x74], ecx
or ecx, 4
mov dword [esp + 0x70], ecx
shr eax, 1
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
lea ecx, [eax*4]
shl dword [esp + 0x30], 2
mov edx, 0xfffffffe
sub edx, dword [esp + 0x48]
shl edx, 2
mov dword [esp + 0x60], edx
mov dword [esp + 0x6c], ecx
neg ecx
mov dword [esp + 0x90], ecx
lea eax, [eax*4 - 4]
mov dword [esp + 0x94], eax
lea eax, [ebp + 0xc]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x4c], 0
jmp 0x5f6aa5
mov dword [ebp], 2
jmp 0x5f6d99
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f682b
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f685a
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f68f2
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f6921
cmp dword [ebp], 4
jne 0x5f6a0a
mov edx, 1
mov ecx, ebp
push 0
push 2
push 0
push 3
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f6a00
mov byte [eax], 0x89
mov edx, 0x11
mov ecx, ebp
push 0
push 2
push dword [esp + 0x74]
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f6a0a
or byte [eax + 1], 0x28
jmp 0x5f6a0a
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f69f4
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0
mov eax, dword [ebp + 0x1c]
test eax, eax
cmove eax, dword [esp + 0x5c]
mov dword [eax], esi
mov dword [ebp + 0x1c], esi
add dword [ebp + 0x48], 6
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f6894
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f68bf
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f69f4
mov ecx, dword [ebp + 0x2c]
mov dword [eax], ecx
mov dword [ebp + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [ebp], 0
jne 0x5f6bfb
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f69b9
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f69e2
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f6a99
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0
mov eax, dword [ebp + 0x1c]
test eax, eax
cmove eax, dword [esp + 0x5c]
mov dword [eax], esi
mov dword [ebp + 0x1c], esi
add dword [ebp + 0x48], 6
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f695b
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f6986
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6a99
mov ecx, dword [ebp + 0x2c]
mov dword [eax], ecx
mov dword [ebp + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [ebp], 0
jne 0x5f6d64
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f6a5e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f6a87
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f69f4
mov edx, dword [esp + 0xc]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [esp + 0x4c], eax
jmp 0x5f6bfb
mov dword [ebp], 2
jmp 0x5f6bfb
cmp dword [ebp], 0
je 0x5f6801
movzx eax, word [esp + 0x54]
cmp eax, 0x89
jne 0x5f6a32
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x60]
push 0x83
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push dword [esp + 0x68]
push 0x83
call fcn.005f26a0
add esp, 0x10
cmp dword [esp + 0x34], 0
jne 0x5f6b9b
jmp 0x5f6bbc
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6a99
mov edx, dword [esp + 0xc]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [esp + 0x4c], eax
jmp 0x5f6d64
mov dword [ebp], 2
jmp 0x5f6d64
mov ebx, dword [esp + 0x48]
test ebx, ebx
mov eax, dword [esp + 8]
js 0x5f6c22
test eax, eax
mov edi, dword [esp]
mov ebp, dword [esp + 0x14]
je 0x5f6e84
mov eax, dword [ebp + 0x58]
add eax, dword [esp + 0x40]
sub esp, 8
mov edx, 0x2d2b2928
mov ecx, ebp
push dword [esp + 0x74]
push 0x40
push eax
push 0x8d
push 0
push 2
call fcn.005fda10
add esp, 0x20
mov edx, 0x20
mov ecx, ebp
mov ebx, dword [esp + 0x44]
push ebx
push 0x8d
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov esi, dword [esp + 4]
mov eax, dword [esi + 0x20]
add eax, dword [esp + 0x70]
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push eax
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push ebx
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esi + 0x44]
test eax, eax
je 0x5f6b69
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x68]
push 0x40
push eax
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
add eax, dword [esp + 0x74]
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push eax
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x34], 0
je 0x5f6bbc
mov edx, 0x20
mov ecx, ebp
push esi
push 0x82
mov eax, dword [esp + 0xc]
push dword [eax + 0x40]
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp + 0x54]
or eax, 2
movzx eax, ax
cmp eax, 0x8b
jne 0x5f6bfb
cmp dword [ebp], 0
jne 0x5f6bfb
mov edx, 1
mov ecx, ebp
push 0
push 0xc
push 0
push 1
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f6bf1
mov byte [eax], 0x3b
cmp dword [ebp], 0
je 0x5f678d
movzx eax, word [esp + 0x50]
cmp eax, 0x94
je 0x5f6d8f
mov edx, 0x20
mov ecx, ebp
push 0
push 0x40
push 0
push 0x82
jmp 0x5f6d87
cmp ebx, 0xffffffff
mov edi, dword [esp]
mov ebp, dword [esp + 0x14]
jne 0x5f6c4e
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 2
call fcn.005f26a0
mov eax, dword [esp + 0x18]
add esp, 0x10
test eax, eax
je 0x5f6fce
mov edx, 0x20
mov ecx, ebp
mov ebx, dword [esp + 0x44]
push ebx
push 0x8d
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov esi, dword [esp + 4]
mov eax, dword [esi + 0x20]
add eax, dword [esp + 0x70]
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push eax
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push ebx
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esi + 0x44]
test eax, eax
je 0x5f6cd2
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x68]
push 0x40
push eax
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
add eax, dword [esp + 0x74]
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push eax
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x34], 0
je 0x5f6d25
mov edx, 0x20
mov ecx, ebp
push esi
push 0x82
mov eax, dword [esp + 0xc]
push dword [eax + 0x40]
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp + 0x54]
or eax, 2
movzx eax, ax
cmp eax, 0x8b
jne 0x5f6d64
cmp dword [ebp], 0
jne 0x5f6d64
mov edx, 1
mov ecx, ebp
push 0
push 0xc
push 0
push 1
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f6d5a
mov byte [eax], 0x3b
cmp dword [ebp], 0
je 0x5f67b1
movzx eax, word [esp + 0x50]
cmp eax, 0x94
je 0x5f6d8f
mov edx, 0x20
mov ecx, ebp
push 0
push 0x40
push dword [esp + 0x9c]
push 0x82
call fcn.005f26a0
add esp, 0x10
cmp dword [ebp], 0
je 0x5f6e3c
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.005fc4c0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 8]
mov ecx, esi
call fcn.005f8fb0
cmp dword [ebp], 0
jne 0x5f70ec
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
mov ecx, ebp
call fcn.005f3660
test esi, esi
je 0x5f6df0
nop dword [eax]
test eax, eax
je 0x5f6de9
mov ecx, dword [esi]
test ecx, ecx
je 0x5f6de9
mov edx, dword [ecx + 8]
and edx, 0xfffffffc
or edx, 1
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov esi, dword [esi + 4]
test esi, esi
jne 0x5f6dd0
test ebx, ebx
js 0x5f6e60
cmp dword [esp + 8], 0
je 0x5f6edd
movzx eax, word [edi]
cmp eax, 0x7b
jne 0x5f6e23
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x44]
push 0x8d
push 0
push 0xc
jmp 0x5f7034
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f6f12
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f6f41
cmp dword [esp + 8], 0
je 0x5f7022
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x44]
push 0x8d
push 0
push 0xc
jmp 0x5f7034
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
cmp dword [ebp], 0
mov esi, dword [esp + 0x30]
jne 0x5f6a0a
mov edx, 1
mov ecx, ebp
push dword [esp + 0x90]
push 0x83
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f67d5
mov byte [eax], 0x8d
jmp 0x5f6a0a
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x60]
push 0x83
push 0
push 0xc
jmp 0x5f7034
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f6781
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x30000
mov eax, dword [ebp + 0x1c]
test eax, eax
cmove eax, dword [esp + 0x5c]
mov dword [eax], esi
mov dword [ebp + 0x1c], esi
add dword [ebp + 0x48], 5
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f6f7b
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f6fa6
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f6781
mov ecx, dword [ebp + 0x2c]
mov dword [eax], ecx
mov dword [ebp + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
cmp dword [esp + 0x78], 0
mov word [eax], pe_nt_image_headers32
je 0x5f6d99
mov eax, dword [esi + 8]
and eax, 0xfffffffc
or eax, 1
mov dword [esi + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esi + 0xc], eax
jmp 0x5f6d99
movzx eax, word [esp + 0x54]
cmp eax, 0x89
mov esi, dword [esp + 0x30]
jne 0x5f6ff8
mov edx, 0x20
mov ecx, ebp
push 0
push 0x82
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
cmp dword [esp + 0x34], 0
jne 0x5f6d04
jmp 0x5f6d25
mov edx, 0x20
mov ecx, ebp
push 0
push 0x82
push 0
push 0xc
call fcn.005f26a0
add esp, 0x10
movzx eax, word [edi]
cmp eax, 0x7b
je 0x5f70fb
mov ebx, ebp
mov ebp, dword [esp + 0x1c]
mov dword [ebp + 8], 0
mov dword [ebp + 0xc], 0
movzx eax, word [edi + 2]
lea esi, [edi + eax*2]
lea edx, [edi + 4]
sub esp, 8
mov ecx, dword [esp + 0xc]
push ebp
push esi
call fcn.005f3740
add esp, 0x10
xor edi, edi
cmp dword [ebx], 0
mov dword [esp], esi
je 0x5f6aa5
jmp 0x5f8975
test eax, eax
jne 0x5f7a87
mov eax, dword [esp + 0x3c]
lea eax, [eax*4 - 4]
mov edx, 0x11
mov ecx, ebp
push eax
push 0x82
push 0
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f70be
or byte [eax + 1], 0x38
cmp dword [ebp], 0
jne 0x5f7a87
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f71dc
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f720b
xor edi, edi
test edi, edi
jne 0x5f897d
jmp case.0x5f8484.97
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x4c]
jmp 0x5f664e
mov dword [esi], 2
jmp 0x5f650a
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7a80
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [ebp + 0x1c], esi
add dword [ebp + 0x48], 6
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f717d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f71a8
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7a80
mov ecx, dword [ebp + 0x2c]
mov dword [eax], ecx
mov dword [ebp + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [ebp], 0
jne 0x5f7a87
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
jbe 0x5f7298
sub esp, 0xc
push 0x800
jmp 0x5f7a50
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7a80
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [ebp + 0x1c], esi
add dword [ebp + 0x48], 6
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f7246
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7271
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7a80
mov ecx, dword [ebp + 0x2c]
mov dword [eax], ecx
mov dword [ebp + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [ebp], 0
jne 0x5f7a87
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f7a48
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7a71
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7363
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f730e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7335
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7363
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [edi], 0
jne 0x5f7369
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f7c15
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7c42
mov dword [edi], 2
mov edx, 0x20
mov ecx, edi
push 0
push 8
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov edx, 0x21
mov ecx, edi
push 0x2a
push 0x81
push 0
push 3
call fcn.005f26a0
add esp, 0x10
cmp dword [edi], 0
jne 0x5f73c7
mov edx, 0x11
mov ecx, edi
push 0
push 3
push 0
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f73be
or byte [eax + 1], 0x38
cmp dword [edi], 0
je 0x5f7494
mov edx, 0x21
mov ecx, edi
push 0x2b
push 0x81
push 0
push 3
call fcn.005f26a0
add esp, 0x10
cmp dword [ebx + 0xb8], 0
mov eax, dword [edi]
je 0x5f7440
test eax, eax
jne 0x5f76f9
mov edx, 0x11
mov ecx, edi
push 0
push 3
push 0
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f7413
or byte [eax + 1], 0x38
cmp dword [edi], 0
jne 0x5f76f9
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f7578
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f75a7
test eax, eax
jne 0x5f76f9
mov edx, 0x11
mov ecx, edi
push 0
push 3
push 0
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f7467
or byte [eax + 1], 0x38
cmp dword [edi], 0
jne 0x5f76f9
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f7634
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f7663
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f74b1
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f74e0
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7997
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f751b
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7546
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7997
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [edi], 0
jne 0x5f73c7
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f795e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7987
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f76f3
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f75e2
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f760d
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f76f3
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x5f76f9
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x5f76f9
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f76f3
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f769e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f76c5
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f76f3
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [edi], 0
jne 0x5f76f9
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f7c5c
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7c89
mov dword [edi], 2
mov edx, 0x20
mov ecx, edi
push 4
push 0x81
push 0
push 3
call fcn.005f26a0
add esp, 0x10
cmp dword [ebx + 0xb8], 0
mov eax, dword [edi]
je 0x5f7773
test eax, eax
mov edx, dword [esp]
jne 0x5f7e08
mov edx, 1
mov ecx, edi
push 0
push 0xc
push 0
push 3
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f7747
mov byte [eax], 0x3b
cmp dword [edi], 0
mov edx, dword [esp]
jne 0x5f7e08
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f77cc
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f77fb
test eax, eax
mov edx, dword [esp]
jne 0x5f7e08
mov edx, 1
mov ecx, edi
push 0
push 0xc
push 0
push 3
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f779c
mov byte [eax], 0x3b
cmp dword [edi], 0
mov edx, dword [esp]
jne 0x5f7e08
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f7894
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f78c3
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7dff
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f7836
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7861
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov edx, dword [esp]
mov word [eax], pe_nt_image_headers32
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x5f7ce8
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
cmp dword [edi], 0
jne 0x5f7e08
jmp 0x5f7cf1
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7dff
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x2000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f78fe
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7929
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [edi], 0
mov edx, dword [esp]
jne 0x5f7e08
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f7ca3
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7cd0
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7997
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov ecx, dword [ebp + 0xc]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebp + 0xc], eax
jmp 0x5f73c7
mov dword [edi], 2
jmp 0x5f73c7
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f79dc
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x30]
mov dword [eax], ecx
mov dword [edx + 0x30], eax
mov dword [eax + 4], 8
add eax, 8
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [edx], eax
jmp 0x5f79e6
mov eax, dword [esp + 0x14]
mov dword [eax], 2
mov edx, ebp
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x84], 0
lea esi, [esp + 0x7c]
mov ebp, dword [esp + 0x1c]
nop word cs:[eax + eax]
movzx eax, word [edx]
mov edi, edx
xor edx, edx
cmp eax, 0x1e
sete dl
add edi, 2
sub esp, 4
mov ecx, ebx
push ebp
push esi
push edi
call fcn.006207c0
add esp, 0x10
mov edx, eax
cmp dword [esp + 0x7c], 0
jg 0x5f7a10
mov edi, edx
test edi, edi
jne 0x5f897d
jmp case.0x5f8484.97
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7a80
mov edx, dword [esp + 0xc]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [edx], eax
jmp 0x5f7a87
mov dword [ebp], 2
mov ecx, ebp
call fcn.005f3660
test edi, edi
je 0x5f7ac0
nop word cs:[eax + eax]
test eax, eax
je 0x5f7ab9
mov ecx, dword [edi]
test ecx, ecx
je 0x5f7ab9
mov edx, dword [ecx + 8]
and edx, 0xfffffffc
or edx, 1
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edi, dword [edi + 4]
test edi, edi
jne 0x5f7aa0
mov ebx, dword [esp + 4]
mov esi, dword [ebx]
sub esp, 8
mov edx, 0x262
mov ecx, esi
push 1
push 0x40
push 0
push 9
push 0
push 9
call fcn.005f2d10
add esp, 0x20
cmp dword [esi], 0
je 0x5f7afc
mov edi, dword [esp]
add edi, 4
test edi, edi
jne 0x5f897d
jmp case.0x5f8484.97
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f7b16
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f7b43
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x5f7c0a
mov eax, dword [esi + 0x30]
mov dword [edi], eax
mov dword [esi + 0x30], edi
mov dword [edi + 4], 0x10
add edi, 8
mov dword [edi], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x1c]
lea ecx, [esi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], edi
mov dword [esi + 0x1c], edi
add dword [esi + 0x48], 6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f7b7e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7ba5
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7c0a
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [esi], 0
jne 0x5f7ae9
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f7bcd
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7bf4
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7c0a
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 8
add eax, 8
mov ecx, dword [ebx + 0xe4]
mov dword [eax + 4], ecx
mov dword [eax], edi
mov dword [ebx + 0xe4], eax
jmp 0x5f7ae9
mov dword [esi], 2
jmp 0x5f7ae9
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7f2b
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 0xe0]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebx + 0xe0], eax
jmp 0x5f7369
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7f3a
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 0xe0]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebx + 0xe0], eax
jmp 0x5f76f9
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 0xe0]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebx + 0xe0], eax
mov edx, dword [esp]
cmp dword [edi], 0
jne 0x5f7e08
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f7d0e
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f7d3d
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f7dff
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0x30000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edi + 0x1c], esi
add dword [edi + 0x48], 5
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f7d78
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7d9f
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
cmp dword [edi], 0
mov edx, dword [esp]
jne 0x5f7e08
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f7dc9
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7df2
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7dff
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [edx], eax
mov dword [eax + 4], 8
add eax, 8
mov ecx, dword [ebp + 0xc]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebp + 0xc], eax
jmp 0x5f7e05
mov dword [edi], 2
mov edx, dword [esp]
add edx, 2
mov edi, edx
jmp 0x5f897d
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x5f7f86
mov eax, dword [edi + 0x30]
mov dword [ecx], eax
mov dword [edi + 0x30], ecx
mov dword [ecx + 4], 0x10
add ecx, 8
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x14]
mov dword [edx], 0
mov dword [edx + 8], 0x4000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], edx
mov dword [edi + 0x1c], edx
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f7ef5
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7f1c
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x5f8018
mov eax, dword [edi + 0x30]
mov dword [ecx], eax
mov dword [edi + 0x30], ecx
mov dword [ecx + 4], 0x10
add ecx, 8
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x14]
mov dword [edx], 0
mov dword [edx + 8], 0x4000
mov eax, dword [edi + 0x1c]
lea ecx, [edi + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], edx
mov dword [edi + 0x1c], edx
add dword [edi + 0x48], 6
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f7f49
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f7f74
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f7f86
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x14]
jmp 0x5f7f92
mov dword [edi], 2
mov ebx, dword [esp + 4]
jmp 0x5f7369
mov dword [edi], 2
mov ebx, dword [esp + 4]
jmp 0x5f76f9
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8018
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [edi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x14]
jmp 0x5f8024
mov dword [edi], 2
xor eax, eax
mov esi, dword [esp + 4]
mov edi, dword [esi]
cmp dword [edi], 0
jne 0x5f7ff5
mov esi, eax
mov ebx, dword [edi + 0x30]
mov ecx, dword [ebx + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f7fb5
lea eax, [ebx + ecx + 8]
mov dword [ebx + 4], edx
jmp 0x5f7fdc
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8010
mov ecx, dword [edi + 0x30]
mov dword [eax], ecx
mov dword [edi + 0x30], eax
mov dword [eax + 4], 0xc
add eax, 8
mov dword [eax], esi
mov esi, eax
mov ecx, edi
call fcn.005f3660
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esi + 8], eax
mov dword [ecx], esi
mov edx, 0x20
mov edi, dword [esp + 8]
mov ecx, edi
push 0
push 3
push 0
push 0x82
jmp 0x5f80d9
mov dword [edi], 2
jmp 0x5f7ff5
mov dword [edi], 2
xor eax, eax
mov esi, dword [esp + 4]
mov edi, dword [esi]
cmp dword [edi], 0
jne 0x5f808b
mov esi, eax
mov ebx, dword [edi + 0x30]
mov ecx, dword [ebx + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f8047
lea eax, [ebx + ecx + 8]
mov dword [ebx + 4], edx
jmp 0x5f8072
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f82ca
mov ecx, dword [edi + 0x30]
mov dword [eax], ecx
mov dword [edi + 0x30], eax
mov dword [eax + 4], 0xc
add eax, 8
mov dword [eax], esi
mov esi, eax
mov ecx, edi
call fcn.005f3660
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esi + 8], eax
mov dword [ecx], esi
mov edx, 0x20
mov edi, dword [esp + 8]
mov ecx, edi
mov eax, dword [esp + 0x58]
push dword [eax]
push 0x8d
push 0
push 1
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 3
push 0
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 1
push 4
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, dword [esp]
cmp dword [ebp + 4], 0
je 0x5f810f
cmp dword [edi], 0
jne 0x5f835d
mov esi, edi
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f813b
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f816a
cmp dword [edi], 0
jne 0x5f835d
mov esi, edi
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f8204
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f8233
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x5f8354
mov ecx, esi
mov eax, dword [ecx + 0x30]
mov dword [edi], eax
mov dword [ecx + 0x30], edi
mov dword [edi + 4], 0x10
add edi, 8
mov dword [edi], 0
mov dword [edi + 8], 0x32000
mov edx, esi
mov eax, dword [edx + 0x1c]
lea ecx, [edx + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], edi
mov dword [edx + 0x1c], edi
add dword [edx + 0x48], 5
mov ecx, dword [edx + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f81a7
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f81d4
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8354
mov edx, esi
mov ecx, dword [edx + 0x2c]
mov dword [eax], ecx
mov dword [edx + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov eax, dword [ebp + 4]
test eax, eax
mov edx, dword [esp]
je 0x5f830c
mov ecx, dword [edi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
cmp dword [esi], 0
jne 0x5f835d
jmp 0x5f8311
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x5f8354
mov ecx, esi
mov eax, dword [ecx + 0x30]
mov dword [edi], eax
mov dword [ecx + 0x30], edi
mov dword [edi + 4], 0x10
add edi, 8
mov dword [edi], 0
mov dword [edi + 8], 0x32000
mov edx, esi
mov eax, dword [edx + 0x1c]
lea ecx, [edx + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], edi
mov dword [edx + 0x1c], edi
add dword [edx + 0x48], 5
mov ecx, dword [edx + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f8270
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f829d
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8354
mov edx, esi
mov ecx, dword [edx + 0x2c]
mov dword [eax], ecx
mov dword [edx + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov eax, esi
cmp dword [eax], 0
mov edx, dword [esp]
jne 0x5f835d
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f82d5
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f82fe
mov dword [edi], 2
jmp 0x5f808b
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8354
mov edx, esi
mov ecx, dword [edx + 0x30]
mov dword [eax], ecx
mov dword [edx + 0x30], eax
mov dword [eax + 4], 8
add eax, 8
mov ecx, dword [ebp + 8]
mov dword [eax + 4], ecx
mov dword [eax], edi
mov dword [ebp + 8], eax
mov edx, dword [esp]
cmp dword [esi], 0
jne 0x5f835d
mov edx, 0x11
mov ecx, esi
push 0
push 1
push 0
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f8330
or byte [eax + 1], 0x38
cmp dword [esi], 0
mov edx, dword [esp]
jne 0x5f835d
mov edi, esi
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5f8365
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f8394
mov dword [esi], 2
mov edx, dword [esp]
add edx, 4
jmp 0x5f7a39
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x5f8462
mov ecx, edi
mov eax, dword [ecx + 0x30]
mov dword [esi], eax
mov dword [ecx + 0x30], esi
mov dword [esi + 4], 0x10
add esi, 8
mov dword [esi], 0
mov dword [esi + 8], 0
mov edx, edi
mov eax, dword [edx + 0x1c]
lea ecx, [edx + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [ecx], esi
mov dword [edx + 0x1c], esi
add dword [edx + 0x48], 6
mov ecx, dword [edx + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f83d1
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f83fa
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8462
mov edx, edi
mov ecx, dword [edx + 0x2c]
mov dword [eax], ecx
mov dword [edx + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
mov eax, edi
cmp dword [eax], 0
mov edx, dword [esp]
jne 0x5f835d
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5f8427
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f844e
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8462
mov ecx, dword [edi + 0x30]
mov dword [eax], ecx
mov dword [edi + 0x30], eax
mov dword [eax + 4], 8
add eax, 8
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0xc]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [edx + 0xc], eax
jmp 0x5f835a
mov dword [edi], 2
jmp 0x5f835a
movzx esi, word [edx]
lea eax, [esi - 1]
movzx eax, ax
cmp eax, 0xa0
ja case.0x5f8484.97
jmp dword [eax*4 + 0x5f8d08]
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.0060d530
jmp 0x5f8970
add edx, 2
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
lea eax, [eax + 4]
cmove eax, dword [esp + 0x2c]
sub esp, 4
mov edi, edx
movzx edx, si
mov ecx, dword [esp + 8]
push 1
push eax
push edi
call fcn.00609bc0
jmp 0x5f8970
add edx, 2
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
lea eax, [eax + 4]
cmove eax, dword [esp + 0x2c]
sub esp, 8
mov edi, edx
movzx edx, si
mov ecx, dword [esp + 0xc]
push eax
push edi
call fcn.00605570
jmp 0x5f8970
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00616e30
jmp 0x5f8970
mov eax, dword [esp + 4]
mov ebp, dword [eax]
lea edi, [edx + 2]
lea eax, [esi - 0x97]
movzx ecx, ax
cmp ecx, 4
ja 0x5f853b
mov ecx, 0x15
bt ecx, eax
jae 0x5f853b
movzx eax, word [edi]
lea edi, [edi + eax*2 + 4]
cmp dword [ebp], 0
jne case.0x5f8484.97
mov ebx, edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x14]
cmp edx, 0x7f8
ja 0x5f8692
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f86c7
mov eax, dword [esp + 4]
mov eax, dword [eax]
xor edi, edi
cmp dword [eax], 0
jne 0x5f8975
mov ebp, edx
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x20]
cmp edx, 0x7f8
ja 0x5f3ded
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
mov edi, dword [esp + 4]
lea esi, [esp + 0x7c]
mov dword [esp + 0x1c], ebx
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov dword [ebx], eax
mov dword [ebx + 0x10], ebp
mov dword [ecx], ebx
movzx eax, word [ebp]
lea ecx, [ebp + 2]
mov dword [esp + 0x50], eax
cmp eax, 0x94
cmovne ecx, ebp
movzx edx, word [ecx]
mov eax, dword [edi + 8]
mov dword [esp], ecx
mov ebp, edi
sub ecx, dword [edi + 4]
mov eax, dword [eax + ecx*2]
mov dword [esp + 0x40], eax
mov dword [ebx + 0x14], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x54], edx
lea eax, [edx - 0x84]
movzx eax, ax
xor ecx, ecx
cmp eax, 7
ja case.default.0x5f8641
mov dword [esp + 0x24], 0
mov edx, dword [esp]
mov edi, dword [esp + 0x14]
mov ebx, ebp
jmp dword [eax*4 + 0x5f8f8c]
lea eax, [edx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x44], 0
xor ecx, ecx
jmp case.0x5f8641.1
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x5f8484.97
mov edi, edx
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x24]
cmp edx, 0x7f8
ja 0x5f88e0
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f8914
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8a74
mov ecx, dword [ebp + 0x30]
mov dword [eax], ecx
mov dword [ebp + 0x30], eax
mov dword [eax + 4], 0x14
cmp dword [ebp], 0
jne case.0x5f8484.97
add eax, 8
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov dword [eax + 0x10], ebx
mov dword [edx], eax
movzx eax, si
cmp eax, 0x97
je 0x5f8792
cmp eax, 0x9b
je 0x5f8792
cmp eax, 0x98
jne 0x5f897d
mov ebx, dword [esp + 4]
mov esi, dword [ebx]
xor eax, eax
cmp dword [esi], 0
jne 0x5f4e00
mov edx, 0x11
mov ecx, esi
push 0
push 2
push 4
push 0x40
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f873d
or byte [eax + 1], 0x28
xor eax, eax
cmp dword [esi], 0
jne 0x5f4e00
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f8766
mov byte [eax], 0x3b
xor eax, eax
cmp dword [esi], 0
jne 0x5f4e00
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x10]
cmp edx, 0x7f8
ja 0x5f4c95
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f4cc0
mov edx, 0x20
mov ecx, ebp
push 0
push 8
push 0
push 1
call fcn.005f26a0
add esp, 0x10
add ebx, 4
mov edx, 0x20
mov ecx, ebp
push ebx
push 0x40
push 0
push 3
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
mov eax, dword [esp + 0x60]
push dword [eax]
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push 0x14
push 0x81
jmp 0x5f4e79
mov eax, dword [esp + 4]
mov edi, dword [eax]
cmp dword [edi], 0
jne case.0x5f8484.97
mov dword [esp], edx
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x14]
cmp edx, 0x7f8
ja 0x5f3998
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
mov edx, dword [esp]
jmp 0x5f39d2
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x5c], 0
je 0x5f3e2e
add edx, 2
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
lea eax, [eax + 4]
cmove eax, dword [esp + 0x2c]
sub esp, 4
mov edi, edx
movzx edx, si
push 1
push eax
push edi
jmp 0x5f84c6
movzx eax, word [edx + 0x22]
add eax, 0xffffff9e
movzx eax, ax
cmp eax, 0xb
ja 0x5f3d0c
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.0060d530
jmp 0x5f8970
movzx eax, word [edx + 4]
add eax, 0xffffff9e
movzx eax, ax
cmp eax, 0xb
ja 0x5f3d34
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00610d80
jmp 0x5f8970
movzx eax, word [edx + 6]
add eax, 0xffffff9e
movzx eax, ax
cmp eax, 0xb
ja 0x5f3d55
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00610d80
jmp 0x5f8970
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8a54
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 0x24
cmp dword [esi], 0
jne case.0x5f8484.97
add eax, 8
mov dword [eax + 0x20], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov esi, dword [esp + 0x10]
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, edi
mov dword [eax + 0x10], edx
mov dword [esi], eax
sub esp, 8
mov ecx, dword [esp + 0xc]
push 0
push eax
call fcn.00614e50
nop word [eax + eax]
add esp, 0x10
mov edi, eax
test edi, edi
je case.0x5f8484.97
cmp edi, dword [esp + 0xb0]
mov edx, edi
jb 0x5f8470
cmp dword [esp + 0x20], 0
je case.0x5f8484.97
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x5f8484.97
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x24]
cmp edx, 0x7f8
ja 0x5f8a23
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
mov dword [eax + 0x20], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov ecx, dword [esp + 0xb4]
mov edx, ecx
mov ecx, dword [edx + 8]
mov dword [eax], ecx
mov dword [edx + 8], eax
mov dword [eax + 0x10], 0x6f5c5c
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x64]
mov dword [edx + 0x18], eax
jmp case.0x5f8484.97
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8a54
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 0x24
cmp dword [esi], 0
jne case.0x5f8484.97
add eax, 8
jmp 0x5f89c0
mov dword [esi], 2
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp], 2
mov edx, dword [esp]
jmp 0x5f3779
mov dword [ebp], 2
jmp case.0x5f8484.97
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8b20
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov dword [eax + 4], 0x10
add eax, 8
mov dword [eax], 0
mov dword [eax + 8], 0x4000
mov edx, dword [esi + 0x1c]
lea ecx, [esi + 0xc]
test edx, edx
cmovne ecx, edx
mov dword [ecx], eax
mov dword [esp + 0x20], eax
mov dword [esi + 0x1c], eax
add dword [esi + 0x48], 6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
lea edx, [eax + 2]
cmp edx, 0xff8
ja 0x5f8af2
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5f8b19
mov dword [edi], 2
jmp case.0x5f8484.97
sub esp, 0xc
push 0x1000
call dword [0x6f4478]
add esp, 0x10
test eax, eax
je 0x5f8b20
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov dword [eax + 4], 2
add eax, 8
mov word [eax], pe_nt_image_headers32
jmp 0x5f8b2e
mov dword [esi], 2
mov dword [esp + 0x20], 0
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x5f8ba1
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5f8b4f
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5f8b7d
sub esp, 0xc
push 0x800
call dword [0x6f4478]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x5f8cee
mov eax, dword [esi + 0x30]
mov dword [ebp], eax
mov dword [esi + 0x30], ebp
mov dword [ebp + 4], 0xc
add ebp, 8
mov eax, dword [esp + 0x20]
mov dword [ebp], eax
mov ecx, esi
call fcn.005f3660
mov dword [ebp + 4], eax
mov eax, dword [ebx + 0xc0]
mov dword [ebp + 8], eax
mov dword [ebx + 0xc0], ebp
mov ebp, dword [esp + 0x18]
cmp dword [esp + 0x2c], 0
mov esi, dword [ebx + 0x40]
jle 0x5f8c0d
mov eax, dword [esp + 0x10]
shl eax, 2
cmp dword [ebp], 0
jne 0x5f8c2d
add esi, dword [ebp + 0x58]
mov edx, 1
mov ecx, ebp
mov dword [esp + 0x10], eax
push eax
push 0x82
push 0
push 0xe
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f8cb4
mov byte [eax], 0x8d
mov edx, 1
mov ecx, ebp
push esi
push 0x8d
push 0
push 0xe
call fcn.005fdd90
add esp, 0x10
test eax, eax
je 0x5f8cb4
mov byte [eax], 0x89
mov eax, dword [esp + 0x10]
jmp 0x5f8c2d
mov edx, 0x20
mov ecx, ebp
push 0
push 2
push esi
push 0x8d
call fcn.005f26a0
add esp, 0x10
mov eax, dword [esp + 0x10]
shl eax, 2
mov esi, eax
lea eax, [esi + 8]
mov edx, 0x20
mov ecx, ebp
push dword [edi + 0x18]
push 0x40
push eax
push 0x82
call fcn.005f26a0
add esp, 0x10
lea eax, [esi + 4]
mov edx, 0x20
mov ecx, ebp
push 1
push 0x40
push eax
push 0x82
call fcn.005f26a0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push esi
push 0x82
call fcn.005f26a0
add esp, 0x10
mov eax, dword [edi + 0x20]
test eax, eax
mov edx, dword [esp]
js 0x5f3779
dec eax
sub esp, 4
mov ecx, ebx
mov edx, dword [esp + 4]
push 0
push eax
push dword [esp + 0xbc]
call fcn.0061aa70
mov edx, dword [esp + 0x10]
add esp, 0x10
jmp 0x5f3779
cmp dword [ebp], 4
jne 0x5f8ce5
sub esp, 8
mov edx, 0x5030100
mov ecx, ebp
push dword [esp + 0x18]
push 0x40
push 0
push 2
push esi
push 0x8d
call fcn.005fe850
mov eax, dword [esp + 0x30]
add esp, 0x20
jmp 0x5f8c2d
mov eax, dword [esp + 0x10]
jmp 0x5f8c2d
mov dword [esi], 2
jmp 0x5f8b9d
mov eax, dword [esp + 0x18]
mov dword [eax], 2
jmp case.0x5f8484.97