Function at 0x4fc850
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 0x4fc89f
mov eax, dword [ebx + 0x14]
mov ecx, edx
sub ecx, dword [ebx + 4]
sar ecx, 1
cmp byte [eax + ecx], 0
je 0x4fc89f
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x64], eax
cmp dword [ebp], 0
je 0x4fc8ff
mov dword [esp + 0x20], 1
cmp edx, dword [esp + 0xb0]
jb 0x4fc8bc
jmp 0x501a9c
mov dword [esp + 0x20], 0
mov dword [esp + 0x64], 0
cmp edx, dword [esp + 0xb0]
jae 0x501a9c
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 0x501580
mov dword [esp], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x24]
cmp edx, 0x7f8
ja 0x4fca69
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], 0x54714c
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.005236f0
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.004fb7b0
add esp, 0x10
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x501c3e
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.00506ea0
add esp, 0x10
test eax, eax
je 0x4fca08
or byte [eax + 1], 0x28
mov dword [esp + 0x20], 0
cmp dword [esi], 0
jne 0x501c3e
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fca37
mov byte [eax], 0x3b
mov dword [esp + 0x20], 0
cmp dword [esi], 0
jne 0x501c3e
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x10]
cmp edx, 0x7f8
ja 0x501b8d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x501bb8
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x501b75
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 0x4fc889
add edi, 8
jmp 0x4fc921
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x501bf7
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.0x501594.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 0x4fcec2
movzx eax, ax
cmp eax, 0x9d
jne 0x4fceb5
cmp dword [edi], 0
jne 0x500f18
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fd9ad
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fd9dc
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x501594.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 0x4fd161
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fd19a
movzx eax, word [edx + 2]
movzx eax, word [edx + eax*2]
add eax, 0xffffff9e
movzx eax, ax
cmp eax, 0xb
ja 0x4fd103
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00516640
jmp 0x501a80
mov eax, dword [esp + 4]
mov ebp, dword [eax]
xor edi, edi
cmp dword [ebp], 0
jne 0x501a85
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 0x4fd8b8
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.005236f0
add esp, 0x10
cmp eax, 0xfffffffe
jne 0x4fdc27
mov eax, dword [edi + 4]
lea esi, [eax + ebx*2]
mov ecx, edi
mov edx, esi
call fcn.00506540
mov ecx, edi
movzx edi, word [esi + 2]
movzx edx, word [esi + edi*2]
lea esi, [esi + edi*2]
cmp edx, 0x77
je 0x4fcc73
sub esp, 8
mov edx, eax
push ebp
push esi
call fcn.004fc850
add esp, 0x10
mov dword [ebp + 0x14], 1
jmp 0x500bf9
mov eax, dword [esp + 4]
mov edi, dword [eax]
cmp dword [edi], 0
jne case.0x501594.97
mov dword [esp], edx
mov esi, dword [edi + 0x30]
mov ecx, dword [esi + 4]
lea edx, [ecx + 0x14]
cmp edx, 0x7f8
ja 0x4fd25f
lea eax, [esi + ecx + 8]
mov dword [esi + 4], edx
mov edx, dword [esp]
jmp 0x4fd296
movzx eax, word [edx + 2]
cmp eax, 0x81
jb 0x4fd12d
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.0051ff40
jmp 0x501a80
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x501594.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 0x4fd341
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fd37c
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x501594.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 0x4fd460
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fd499
mov ebx, dword [esp + 4]
cmp dword [ebx + 0xcc], 0
jne 0x4fce14
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 0x4fcdaa
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.004fb7b0
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.004fb7b0
add esp, 0x10
test bl, bl
mov edx, ebp
jne 0x4fce14
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.004fb7b0
mov edx, ebp
add esp, 0x10
jmp 0x4fce14
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 0x4fce00
add edx, 4
jmp 0x500f1b
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 0x5015d6
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 0x4fcea8
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.0051db50
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.0051c4c0
add esp, 0x10
jmp 0x501a8d
cmp dword [ebx + 0xcc], 0
je 0x4fd72d
cmp dword [ebx + 0xb8], 0
mov eax, dword [edi]
je 0x4fcf69
test eax, eax
jne 0x500f18
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fd847
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fd876
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fd7a4
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 0x501a85
add ebx, 8
jmp 0x5016ab
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 0x4fcfa0
test eax, eax
jne 0x500f18
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fdba7
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fdbd6
xor ecx, ecx
jmp 0x4fd0e0
cmp ebx, dword [esp + 0xb0]
jae 0x4fd903
movzx eax, word [ebx]
cmp eax, 0x1e
je 0x4fcfe5
xor ecx, ecx
movzx eax, ax
cmp eax, 0x1d
jne 0x4fd0e0
mov eax, dword [esp + 4]
cmp dword [eax + 0x110], 0
je 0x4fd028
movzx eax, word [ebx + 2]
and eax, 0xfc00
xor ecx, ecx
cmp eax, 0xd800
jmp 0x4fd0dc
lea edx, [ebx + 2]
mov eax, dword [esp + 4]
cmp dword [eax + 0x110], 0
movzx eax, word [ebx + 2]
je 0x4fd032
mov ecx, eax
and ecx, 0xfc00
mov dword [esp + 8], ecx
cmp ecx, 0xd800
jne 0x4fd070
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebx + 4]
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x4fd077
mov ecx, 1
jmp 0x4fd0e0
mov ecx, 1
cmp eax, 0x100
jae 0x4fd0e0
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 0x4fd0e0
mov ecx, dword [esp + 4]
call fcn.005297e0
xor ecx, ecx
test eax, eax
setne cl
jmp 0x4fd0e0
cmp eax, 0x80
jb 0x4fd0b2
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 + 0x5494e0]
shl ecx, 7
sub eax, ebp
add eax, ecx
movzx eax, word [eax + eax + 0x54b6e0]
cmp dword [eax*8 + 0x547e64], 0
mov ebp, dword [esp + 0x1c]
jne 0x4fd0c1
jmp 0x4fd0d2
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x54]
movzx ecx, byte [ecx + eax]
cmp eax, ecx
je 0x4fd0d2
mov ecx, dword [esp + 4]
call fcn.005297e0
test eax, eax
je 0x4fcf95
xor ecx, ecx
cmp dword [esp + 8], 0xd800
sete cl
inc ecx
lea edi, [edi + ecx*2]
test ecx, ecx
je 0x4fd900
lea ebx, [ebx + ecx*2 + 2]
cmp edi, 0x81
mov edx, dword [esp]
jl 0x4fcfa0
jmp 0x4fd903
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 0x5015d6
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x501594.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 0x4fd7bd
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fd7f1
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501b84
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.0x501594.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.004fb7b0
add esp, 0x10
mov esi, dword [ebx]
xor edi, edi
cmp dword [esi], 0
jne 0x4fe305
mov edx, 0x11
mov ecx, esi
push 0
push 2
push 4
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd20a
or byte [eax + 1], 0x28
xor edi, edi
cmp dword [esi], 0
jne 0x4fe305
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd233
mov byte [eax], 0x3b
xor edi, edi
cmp dword [esi], 0
jne 0x4fe305
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fdfe4
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fe011
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501bf7
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.0x501594.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 0x4fe3bf
mov edx, 0x11
mov ecx, esi
push 0
push 2
push 0x38
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd2ec
or byte [eax + 1], 0x28
xor ebx, ebx
cmp dword [esi], 0
jne 0x4fe3bf
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd315
mov byte [eax], 0x3b
xor ebx, ebx
cmp dword [esi], 0
jne 0x4fe3bf
mov ebx, dword [esi + 0x30]
mov ecx, dword [ebx + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fe053
lea eax, [ebx + ecx + 8]
mov dword [ebx + 4], edx
jmp 0x4fe07e
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x501e09
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.0x501594.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 0x4fd3c0
movzx eax, ax
cmp eax, 0x7a
mov ebx, edx
mov ebx, dword [ebx]
mov eax, dword [ebx]
jne 0x4fd56e
xor esi, esi
test eax, eax
jne 0x4ff1b0
mov edx, 0x11
mov ecx, ebx
push 0
push 2
push 8
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd40b
or byte [eax + 1], 0x28
xor esi, esi
cmp dword [ebx], 0
jne 0x4ff1b0
mov edx, 1
mov ecx, ebx
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd434
mov byte [eax], 0x3b
xor esi, esi
cmp dword [ebx], 0
jne 0x4ff1b0
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fee6a
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fee97
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501b84
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.0x501594.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.004fb7b0
add esp, 0x10
mov edi, dword [ebx]
xor esi, esi
cmp dword [edi], 0
jne 0x4fe872
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.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd519
or byte [eax + 1], 0x28
xor esi, esi
cmp dword [edi], 0
jne 0x4fe872
mov edx, 1
mov ecx, edi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd542
mov byte [eax], 0x3b
xor esi, esi
cmp dword [edi], 0
jne 0x4fe872
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fe0c4
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fe0f1
xor esi, esi
test eax, eax
jne 0x4ff260
mov edx, 0x11
mov ecx, ebx
push 0
push 2
push 4
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd597
or byte [eax + 1], 0x28
xor esi, esi
cmp dword [ebx], 0
jne 0x4ff260
mov edx, 1
mov ecx, ebx
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd5c0
mov byte [eax], 0x3b
xor esi, esi
cmp dword [ebx], 0
jne 0x4ff260
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4feed9
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fef06
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.005236f0
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 0x4fd70e
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 0x4fec55
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.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd6ad
or byte [eax + 1], 0x28
mov dword [esp + 0xc], 0
cmp dword [esi], 0
jne 0x4fec55
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd6dc
mov byte [eax], 0x3b
mov dword [esp + 0xc], 0
cmp dword [esi], 0
jne 0x4fec55
mov edi, dword [esi + 0x30]
mov ecx, dword [edi + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fe28c
lea eax, [edi + ecx + 8]
mov dword [edi + 4], edx
jmp 0x4fe2b7
mov ecx, dword [esp + 8]
test ecx, ecx
mov ebp, edi
je 0x4fda1e
cmp dword [ebx + 0x44], 1
mov eax, 3
sbb eax, 0
jmp 0x4fda23
cmp dword [ebx + 0x60], 0
je 0x4fcec2
cmp dword [ebx + 0xb8], 0
mov eax, dword [edi]
je 0x4fdcad
test eax, eax
jne 0x500479
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.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd777
mov byte [eax], 0x3b
cmp dword [edi], 0
jne 0x500479
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4ff0fc
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4ff12b
mov eax, dword [esp + 0x14]
mov dword [eax], 2
xor edi, edi
test edi, edi
jne 0x501a8d
jmp case.0x501594.97
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501b64
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.0x501594.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 0x501a75
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500f0f
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 0x4fdaf2
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fdb1d
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fec32
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 0x501a85
mov dword [esp + 8], eax
mov ebp, ecx
add ebp, 8
jmp 0x4fcc05
mov edx, dword [esp]
mov dword [esp + 0x7c], edi
test edi, edi
jle 0x4fd989
mov esi, dword [esp + 0x14]
cmp dword [esi], 0
mov ebx, dword [esp + 4]
jne 0x500af8
mov ebp, edx
mov edx, 0x11
mov ecx, esi
push 0
push 0xc
push edi
push 0x40
call fcn.00506ea0
mov edx, ebp
add esp, 0x10
cmp dword [esi], 0
jne 0x500af8
mov edx, 1
mov ecx, esi
push 0
push 0xb
push 0
push 0xc
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fd95d
mov byte [eax], 0x3b
cmp dword [esi], 0
mov edx, ebp
jne 0x500af8
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fef48
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fef79
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.00512cd0
add esp, 0x10
mov edx, eax
jmp 0x500b49
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500f0f
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 0x4fdb47
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fdb72
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 0x4ff4ad
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.00506ea0
add esp, 0x10
test eax, eax
je 0x4fda93
or byte [eax + 1], 0x28
xor eax, eax
cmp dword [esi], 0
mov ecx, dword [esp + 8]
jne 0x4ff4ad
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fdac0
mov byte [eax], 0x3b
xor eax, eax
cmp dword [esi], 0
mov ecx, dword [esp + 8]
jne 0x4ff4ad
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fefbf
lea ecx, [eax + ecx + 8]
mov dword [eax + 4], edx
mov eax, ecx
jmp 0x4fefea
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f18
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x500f18
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f18
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x4fdd0b
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fdd38
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500f0f
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 0x4fdc4d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fdc78
mov dword [esp + 0x24], 0
mov edx, dword [esp]
mov edi, dword [esp + 0x14]
mov ebx, ebp
jmp case.0x501751.1
mov dword [esp + 0x1c], ebp
test esi, esi
je 0x4fdd4b
mov edx, dword [esp]
mov ebp, esi
cmp dword [ebp + 0xc], ebx
je 0x4fde15
mov esi, dword [ebp]
test esi, esi
jne 0x4fdc36
jmp 0x4fdd4d
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f18
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x4fdf9e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fdfcb
test eax, eax
jne 0x500479
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.00506ea0
add esp, 0x10
test eax, eax
je 0x4fdcde
mov byte [eax], 0x3b
cmp dword [edi], 0
jne 0x500479
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5003b4
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5003e3
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f18
xor ebp, ebp
xor edi, edi
mov esi, dword [esp + 8]
cmp dword [esi], 0
jne 0x501a85
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x10]
cmp edx, 0x7f8
mov edi, esi
ja 0x4febf4
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 0x4fde19
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fdf08
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 0x4fded7
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fdefe
mov edi, dword [esp + 8]
mov esi, dword [esp + 4]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4fe133
test ecx, ecx
je 0x4fe13b
mov edx, 0x20
mov dword [esp + 8], edi
mov ecx, edi
push dword [esi + 0x20]
push 0x8d
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
mov edi, dword [esi]
xor eax, eax
cmp dword [edi], 0
jne 0x501134
mov edx, 0x11
mov ecx, edi
push 0
push 2
push 8
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fde7e
or byte [eax + 1], 0x28
xor eax, eax
cmp dword [edi], 0
jne 0x501134
mov edx, 1
mov ecx, edi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fdea7
mov byte [eax], 0x3b
xor eax, eax
cmp dword [edi], 0
jne 0x501134
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x500f95
lea ecx, [eax + ecx + 8]
mov dword [esp + 0x14], ecx
mov dword [eax + 4], edx
jmp 0x500fc6
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fdf08
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 0x4fdf10
mov dword [esi], 2
xor eax, eax
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x4fdf77
mov dword [esp], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x4fdf34
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fdf5d
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x4fdf96
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.004fc770
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.004fb7b0
add esp, 0x10
jmp 0x501a8d
mov dword [esi], 2
jmp 0x4fdf77
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f18
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x4fe2fd
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 0x4fe1e9
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fe214
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fe3b7
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 0x4fe21e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fe249
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4fe86a
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 0x4fe257
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fe282
test ecx, ecx
je 0x5011f4
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.004fb7b0
add esp, 0x10
mov edi, dword [esi]
xor eax, eax
cmp dword [edi], 0
jne 0x5010a2
mov edx, 0x11
mov ecx, edi
push 0
push 2
push 4
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fe190
or byte [eax + 1], 0x28
xor eax, eax
cmp dword [edi], 0
jne 0x5010a2
mov edx, 1
mov ecx, edi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fe1b9
mov byte [eax], 0x3b
xor eax, eax
cmp dword [edi], 0
jne 0x5010a2
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x500f22
lea ecx, [eax + ecx + 8]
mov dword [esp + 0x14], ecx
mov dword [eax + 4], edx
jmp 0x500f53
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fe2fd
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 0x4fe305
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fe3b7
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 0x4fe3bf
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fe86a
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 0x4fe872
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fec47
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 0x4febc6
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4febed
mov dword [esi], 2
xor edi, edi
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x4fe36c
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x4fe326
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fe350
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x4fe3af
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.004fc770
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push 0
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edi, dword [esp]
add edi, 2
jmp 0x501a8d
mov dword [esi], 2
jmp 0x4fe368
mov dword [esi], 2
xor ebx, ebx
mov ebp, dword [esp + 4]
mov esi, dword [ebp]
cmp dword [esi], 0
jne 0x4fe42f
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x4fe3e5
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fe413
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x4fe79a
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.004fc770
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 8
push 0
push 1
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
mov edx, 0x26
mov ecx, edi
push 0
push 3
push 0x20
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push dword [ebp + 0x20]
push 0x8d
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 0xc
push 8
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 3
push 0xc
push 0x82
call fcn.004fb7b0
add esp, 0x10
cmp dword [ebp + 0x3c], 0
mov ebx, ebp
je 0x4fe50c
mov edx, 0x20
mov ecx, edi
push 0x14
push 0x81
push 0
push 3
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
movzx eax, word [esi + 6]
mov edx, 0x26
mov ecx, edi
push eax
push 0x40
push 0x2c
push 0x82
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 2
push 0
push 0x8d
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 2
push 0
push 2
call fcn.004fb7b0
add esp, 0x10
cmp dword [edi], 0
je 0x4fe661
sub esp, 0xc
mov edx, 0x1113
mov ecx, edi
push 0x52a2f0
call fcn.00505860
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 0x8d
push 0
push 2
call fcn.004fb7b0
add esp, 0x10
mov ecx, dword [ebx]
cmp dword [ecx], 0
jne 0x4fe5fd
mov edx, 0x11
push 0
push 2
push 0x38
push 0x40
call fcn.00506ea0
add esp, 0x10
mov ecx, dword [edi]
test ecx, ecx
jne 0x4fe628
mov edx, 0x11
mov ecx, edi
push 0
push 1
push 0
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fe622
or byte [eax + 1], 0x38
mov ecx, dword [edi]
test ecx, ecx
je 0x4fe695
cmp dword [ebx + 0xb4], 0
je 0x4fea8b
test ecx, ecx
mov edx, dword [esp]
jne 0x4fea92
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fe6dd
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fe70a
mov eax, dword [edi + 0x58]
mov ecx, dword [esp + 0x38]
add eax, dword [ecx]
je 0x4fe6b6
mov edx, 1
mov ecx, edi
push eax
push 0x8d
push 0
push 3
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fe5b0
mov byte [eax], 0x8d
jmp 0x4fe5b0
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4fe7a5
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fe7d2
mov edx, 1
mov ecx, edi
push 0
push 3
push 0
push 0xd
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fe5b0
mov byte [eax], 0x89
jmp 0x4fe5b0
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4febb5
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 0x4fe745
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fe770
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4febb5
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 0x4fea92
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x4fea92
mov dword [esi], 2
jmp 0x4fe42b
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4fea73
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 0x4fe80d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fe838
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fea73
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 0x4fe628
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x4fea2c
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
xor ecx, ecx
jmp 0x4fea55
mov dword [edi], 2
xor esi, esi
mov edi, dword [ebx]
cmp dword [edi], 0
jne 0x4fe8dd
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x4fe893
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4fe8c1
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x4fea21
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.004fc770
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.004fb7b0
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.004fb7b0
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push dword [ebx + 0x3c]
push 0x8d
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push 0x14
push 0x81
call fcn.004fb7b0
add esp, 0x10
cmp dword [ebx + 0x68], 0
je 0x4fea11
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 1
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 2
push dword [ebx + 0x40]
push 0x8d
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0x40
push 4
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push esi
push 0x40
push 8
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push 0xc
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push 0
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov ecx, dword [esp]
movzx eax, word [ecx + 2]
lea edi, [ecx + eax*2 + 6]
jmp 0x501a8d
mov dword [edi], 2
jmp 0x4fe8d9
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fea73
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 0x4fe635
jmp 0x4fea8b
mov dword [edi], 2
mov ecx, 2
cmp dword [ebx + 0xb4], 0
jne 0x4fe635
test ecx, ecx
mov edx, dword [esp]
je 0x4fea9a
add edx, 8
jmp 0x500f1b
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4feab4
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4feae1
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4febb5
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 0x4feb1c
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4feb47
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4febb5
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 0x4fea92
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x4feb72
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4feb99
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4febb5
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 0x500f1b
mov dword [edi], 2
mov edx, dword [esp]
add edx, 8
jmp 0x500f1b
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fec47
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 0x4fec55
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4fec32
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 0x501a85
add eax, 8
mov edi, ecx
jmp 0x4fdd7d
mov dword [edi], 2
xor edi, edi
test edi, edi
jne 0x501a8d
jmp case.0x501594.97
mov dword [esi], 2
mov dword [esp + 0xc], 0
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x4fecc2
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x4fec76
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4feca3
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x4fee5f
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.004fc770
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.004fb7b0
add esp, 0x10
cmp dword [esp + 0x34], 0
je 0x4fed00
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
mov edi, ebx
cmp dword [ebp], 0
je 0x4fedda
xor esi, esi
cmp dword [esp + 0x30], 0x94
je 0x4fed37
mov edx, 0x20
mov ecx, ebp
push 1
push 0x40
push 0
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov esi, 1
cmp dword [esp + 0x34], 0
je 0x4fed5f
lea eax, [esi*4]
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push eax
push 0x82
call fcn.004fb7b0
add esp, 0x10
inc esi
mov ebx, edi
cmp dword [esp + 8], 0
jne 0x4fed89
lea eax, [esi*4]
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push eax
push 0x82
call fcn.004fb7b0
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.004fb7b0
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.00523b80
add esp, 0x10
mov ecx, dword [esp + 8]
cmp ecx, 1
mov eax, 1
adc eax, 0
sub esi, eax
jmp 0x4ff706
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.00506ea0
add esp, 0x10
test eax, eax
je 0x4fee31
mov byte [eax], 0x8d
mov edx, 1
mov ecx, ebp
push esi
push 0x8d
push 0
push 0xe
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4fee31
mov byte [eax], 0x89
jmp 0x4fed0c
cmp dword [ebp], 4
jne 0x4fed0c
sub esp, 8
mov edx, 0x5030100
mov ecx, ebp
push ebx
push 0x40
push 0
push 2
push esi
push 0x8d
call fcn.00507960
add esp, 0x20
jmp 0x4fed0c
mov dword [esi], 2
jmp 0x4fecbe
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4ff1a8
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 0x4ff02e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ff059
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4ff258
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 0x4ff063
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ff08e
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500aec
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 0x4ff098
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ff0c7
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ff4a1
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 0x4ff16d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ff198
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ff1a8
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 0x4ff1b0
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ff258
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 0x4ff260
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500aec
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 0x500af8
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x500ab2
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500add
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500473
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 0x4ff44f
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ff47a
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ff4a1
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 0x4ff4ad
mov dword [ebx], 2
xor esi, esi
mov eax, dword [esp + 4]
mov ebx, dword [eax]
cmp dword [ebx], 0
jne 0x4ff21b
mov dword [esp], esi
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x4ff1d8
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4ff201
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4ff250
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.004fc770
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, esi
push 0
push 0xc
push 4
push 0x82
jmp 0x4ff2e5
mov dword [ebx], 2
jmp 0x4ff21b
mov dword [ebx], 2
xor esi, esi
mov eax, dword [esp + 4]
mov ebx, dword [eax]
cmp dword [ebx], 0
jne 0x4ff2cf
mov dword [esp], esi
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x4ff288
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4ff2b5
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4ff444
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.004fc770
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.004fb7b0
add esp, 0x10
add edi, 4
mov ecx, esi
call fcn.004fc770
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.004fbe20
add esp, 0x20
cmp dword [esi], 0
jne 0x501a8d
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4ff341
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4ff36e
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x4ff439
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 0x4ff3a9
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ff3d0
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ff439
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 0x501a8d
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x4ff3f8
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ff41f
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ff439
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 0x501a8d
mov dword [esi], 2
jmp 0x501a8d
mov dword [ebx], 2
jmp 0x4ff2cf
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500473
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 0x500479
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x500479
mov dword [esi], 2
xor eax, eax
mov ecx, dword [esp + 8]
mov esi, dword [ebx]
cmp dword [esi], 0
je 0x4ff5b0
cmp dword [esp + 0x48], 0xffffffff
je 0x4ff62d
test ecx, ecx
je 0x4ff655
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.004fb7b0
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push 0
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov eax, dword [ebx + 0x44]
test eax, eax
je 0x4ff54a
mov edx, 0x20
mov ecx, ebp
push eax
push 0x8d
push 0
push 1
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push 4
push 0x82
call fcn.004fb7b0
add esp, 0x10
cmp dword [esp + 0x34], 0
je 0x4ff586
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
cmp dword [ebx + 0x44], 0
je 0x4ff5cc
mov edx, 0x20
mov ecx, ebp
push 0
push 1
push 8
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov esi, 3
jmp 0x4ff696
mov edi, eax
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x4ff5d6
lea ebx, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4ff603
mov esi, 2
jmp 0x4ff696
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x500218
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.004fc770
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 0x4ff4c3
mov edx, 0x20
mov ecx, ebp
push 0
push 2
push dword [esp + 0x48]
push 0x8d
call fcn.004fb7b0
mov ecx, dword [esp + 0x18]
add esp, 0x10
test ecx, ecx
jne 0x4ff4cb
cmp dword [esp + 0x34], 0
je 0x4ff677
mov edx, 0x20
mov ecx, ebp
push dword [ebx + 0x40]
push 0x8d
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push 0
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov esi, 1
mov ecx, dword [esp + 0x30]
add ecx, esi
cmp dword [esp + 0xc], 0x94
je 0x4ff6ce
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.004fb7b0
mov ecx, ebx
mov ebx, edi
add esp, 0x10
cmp dword [esp + 0x34], 0
je 0x4ff6fa
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.004fb7b0
add esp, 0x10
jmp 0x4ff702
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], esi
test ecx, ecx
je 0x4ff72a
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push dword [esp + 0x4c]
push 0x8d
call fcn.004fb7b0
add esp, 0x10
lea eax, [ebp + 0x30]
mov dword [esp + 0xc], eax
mov ecx, ebp
call fcn.004fc770
mov dword [esp + 0x78], eax
mov esi, dword [esp]
movzx eax, word [esi]
cmp eax, 0x7b
jne 0x4ff7df
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 0x500b97
test ebx, ebx
mov eax, dword [ebp]
js 0x50019a
test eax, eax
jne 0x500b97
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.00506ea0
add esp, 0x10
test eax, eax
je 0x4ff7b1
or byte [eax + 1], 0x38
cmp dword [ebp], 0
jne 0x500b97
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x500223
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x500252
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.004fc850
add esp, 0x10
xor edi, edi
cmp dword [ebp], 0
jne 0x501a85
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 0x4ffbb5
mov dword [ebp], 2
jmp 0x4ffea9
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4ff93b
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4ff96a
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x4ffa02
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x4ffa31
cmp dword [ebp], 4
jne 0x4ffb1a
mov edx, 1
mov ecx, ebp
push 0
push 2
push 0
push 3
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4ffb10
mov byte [eax], 0x89
mov edx, 0x11
mov ecx, ebp
push 0
push 2
push dword [esp + 0x74]
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4ffb1a
or byte [eax + 1], 0x28
jmp 0x4ffb1a
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4ffb04
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 0x4ff9a4
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ff9cf
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ffb04
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 0x4ffd0b
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x4ffac9
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ffaf2
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4ffba9
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 0x4ffa6b
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ffa96
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ffba9
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 0x4ffe74
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x4ffb6e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4ffb97
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ffb04
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 0x4ffd0b
mov dword [ebp], 2
jmp 0x4ffd0b
cmp dword [ebp], 0
je 0x4ff911
movzx eax, word [esp + 0x54]
cmp eax, 0x89
jne 0x4ffb42
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x60]
push 0x83
push 0
push 1
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push dword [esp + 0x68]
push 0x83
call fcn.004fb7b0
add esp, 0x10
cmp dword [esp + 0x34], 0
jne 0x4ffcab
jmp 0x4ffccc
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ffba9
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 0x4ffe74
mov dword [ebp], 2
jmp 0x4ffe74
mov ebx, dword [esp + 0x48]
test ebx, ebx
mov eax, dword [esp + 8]
js 0x4ffd32
test eax, eax
mov edi, dword [esp]
mov ebp, dword [esp + 0x14]
je 0x4fff94
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.00506b20
add esp, 0x20
mov edx, 0x20
mov ecx, ebp
mov ebx, dword [esp + 0x44]
push ebx
push 0x8d
push 0
push 1
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push ebx
push 0x8d
call fcn.004fb7b0
add esp, 0x10
mov eax, dword [esi + 0x44]
test eax, eax
je 0x4ffc79
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x68]
push 0x40
push eax
push 0x8d
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x34], 0
je 0x4ffccc
mov edx, 0x20
mov ecx, ebp
push esi
push 0x82
mov eax, dword [esp + 0xc]
push dword [eax + 0x40]
push 0x8d
call fcn.004fb7b0
add esp, 0x10
mov eax, dword [esp + 0x54]
or eax, 2
movzx eax, ax
cmp eax, 0x8b
jne 0x4ffd0b
cmp dword [ebp], 0
jne 0x4ffd0b
mov edx, 1
mov ecx, ebp
push 0
push 0xc
push 0
push 1
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4ffd01
mov byte [eax], 0x3b
cmp dword [ebp], 0
je 0x4ff89d
movzx eax, word [esp + 0x50]
cmp eax, 0x94
je 0x4ffe9f
mov edx, 0x20
mov ecx, ebp
push 0
push 0x40
push 0
push 0x82
jmp 0x4ffe97
cmp ebx, 0xffffffff
mov edi, dword [esp]
mov ebp, dword [esp + 0x14]
jne 0x4ffd5e
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 2
call fcn.004fb7b0
mov eax, dword [esp + 0x18]
add esp, 0x10
test eax, eax
je 0x5000de
mov edx, 0x20
mov ecx, ebp
mov ebx, dword [esp + 0x44]
push ebx
push 0x8d
push 0
push 1
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push ebx
push 0x8d
call fcn.004fb7b0
add esp, 0x10
mov eax, dword [esi + 0x44]
test eax, eax
je 0x4ffde2
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x68]
push 0x40
push eax
push 0x8d
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x34], 0
je 0x4ffe35
mov edx, 0x20
mov ecx, ebp
push esi
push 0x82
mov eax, dword [esp + 0xc]
push dword [eax + 0x40]
push 0x8d
call fcn.004fb7b0
add esp, 0x10
mov eax, dword [esp + 0x54]
or eax, 2
movzx eax, ax
cmp eax, 0x8b
jne 0x4ffe74
cmp dword [ebp], 0
jne 0x4ffe74
mov edx, 1
mov ecx, ebp
push 0
push 0xc
push 0
push 1
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4ffe6a
mov byte [eax], 0x3b
cmp dword [ebp], 0
je 0x4ff8c1
movzx eax, word [esp + 0x50]
cmp eax, 0x94
je 0x4ffe9f
mov edx, 0x20
mov ecx, ebp
push 0
push 0x40
push dword [esp + 0x9c]
push 0x82
call fcn.004fb7b0
add esp, 0x10
cmp dword [ebp], 0
je 0x4fff4c
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.005055d0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 8]
mov ecx, esi
call fcn.005020c0
cmp dword [ebp], 0
jne 0x5001fc
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
mov ecx, ebp
call fcn.004fc770
test esi, esi
je 0x4fff00
nop dword [eax]
test eax, eax
je 0x4ffef9
mov ecx, dword [esi]
test ecx, ecx
je 0x4ffef9
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 0x4ffee0
test ebx, ebx
js 0x4fff70
cmp dword [esp + 8], 0
je 0x4fffed
movzx eax, word [edi]
cmp eax, 0x7b
jne 0x4fff33
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x44]
push 0x8d
push 0
push 0xc
jmp 0x500144
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x500022
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x500051
cmp dword [esp + 8], 0
je 0x500132
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x44]
push 0x8d
push 0
push 0xc
jmp 0x500144
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
cmp dword [ebp], 0
mov esi, dword [esp + 0x30]
jne 0x4ffb1a
mov edx, 1
mov ecx, ebp
push dword [esp + 0x90]
push 0x83
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x4ff8e5
mov byte [eax], 0x8d
jmp 0x4ffb1a
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x40]
push 0x8d
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push dword [esp + 0x60]
push 0x83
push 0
push 0xc
jmp 0x500144
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4ff891
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 0x50008b
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5000b6
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x4ff891
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 0x4ffea9
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 0x4ffea9
movzx eax, word [esp + 0x54]
cmp eax, 0x89
mov esi, dword [esp + 0x30]
jne 0x500108
mov edx, 0x20
mov ecx, ebp
push 0
push 0x82
push 0
push 1
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 0xc
push 0
push 0x82
call fcn.004fb7b0
add esp, 0x10
cmp dword [esp + 0x34], 0
jne 0x4ffe14
jmp 0x4ffe35
mov edx, 0x20
mov ecx, ebp
push 0
push 0x82
push 0
push 0xc
call fcn.004fb7b0
add esp, 0x10
movzx eax, word [edi]
cmp eax, 0x7b
je 0x50020b
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.004fc850
add esp, 0x10
xor edi, edi
cmp dword [ebx], 0
mov dword [esp], esi
je 0x4ffbb5
jmp 0x501a85
test eax, eax
jne 0x500b97
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.00506ea0
add esp, 0x10
test eax, eax
je 0x5001ce
or byte [eax + 1], 0x38
cmp dword [ebp], 0
jne 0x500b97
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5002ec
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x50031b
xor edi, edi
test edi, edi
jne 0x501a8d
jmp case.0x501594.97
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x4c]
jmp 0x4ff75e
mov dword [esi], 2
jmp 0x4ff61a
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500b90
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 0x50028d
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5002b8
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500b90
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 0x500b97
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
jbe 0x5003a8
sub esp, 0xc
push 0x800
jmp 0x500b60
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500b90
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 0x500356
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500381
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500b90
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 0x500b97
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x500b58
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500b81
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500473
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 0x50041e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500445
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500473
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 0x500479
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x500d25
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500d52
mov dword [edi], 2
mov edx, 0x20
mov ecx, edi
push 0
push 8
push 0
push 1
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x21
mov ecx, edi
push 0x2a
push 0x81
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
cmp dword [edi], 0
jne 0x5004d7
mov edx, 0x11
mov ecx, edi
push 0
push 3
push 0
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x5004ce
or byte [eax + 1], 0x38
cmp dword [edi], 0
je 0x5005a4
mov edx, 0x21
mov ecx, edi
push 0x2b
push 0x81
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
cmp dword [ebx + 0xb8], 0
mov eax, dword [edi]
je 0x500550
test eax, eax
jne 0x500809
mov edx, 0x11
mov ecx, edi
push 0
push 3
push 0
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x500523
or byte [eax + 1], 0x38
cmp dword [edi], 0
jne 0x500809
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x500688
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5006b7
test eax, eax
jne 0x500809
mov edx, 0x11
mov ecx, edi
push 0
push 3
push 0
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x500577
or byte [eax + 1], 0x38
cmp dword [edi], 0
jne 0x500809
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x500744
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x500773
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5005c1
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5005f0
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500aa7
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 0x50062b
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500656
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500aa7
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 0x5004d7
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x500a6e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500a97
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500803
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 0x5006f2
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x50071d
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500803
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 0x500809
mov ecx, dword [esi + 8]
and ecx, 0xfffffffc
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
jmp 0x500809
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500803
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 0x5007ae
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5007d5
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500803
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 0x500809
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x500d6c
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500d99
mov dword [edi], 2
mov edx, 0x20
mov ecx, edi
push 4
push 0x81
push 0
push 3
call fcn.004fb7b0
add esp, 0x10
cmp dword [ebx + 0xb8], 0
mov eax, dword [edi]
je 0x500883
test eax, eax
mov edx, dword [esp]
jne 0x500f18
mov edx, 1
mov ecx, edi
push 0
push 0xc
push 0
push 3
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x500857
mov byte [eax], 0x3b
cmp dword [edi], 0
mov edx, dword [esp]
jne 0x500f18
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5008dc
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x50090b
test eax, eax
mov edx, dword [esp]
jne 0x500f18
mov edx, 1
mov ecx, edi
push 0
push 0xc
push 0
push 3
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x5008ac
mov byte [eax], 0x3b
cmp dword [edi], 0
mov edx, dword [esp]
jne 0x500f18
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x5009a4
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5009d3
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500f0f
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 0x500946
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500971
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500df8
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 0x500f18
jmp 0x500e01
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500f0f
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 0x500a0e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500a39
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f18
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x500db3
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500de0
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500aa7
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 0x5004d7
mov dword [edi], 2
jmp 0x5004d7
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500aec
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 0x500af6
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.005298d0
add esp, 0x10
mov edx, eax
cmp dword [esp + 0x7c], 0
jg 0x500b20
mov edi, edx
test edi, edi
jne 0x501a8d
jmp case.0x501594.97
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500b90
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 0x500b97
mov dword [ebp], 2
mov ecx, ebp
call fcn.004fc770
test edi, edi
je 0x500bd0
nop word cs:[eax + eax]
test eax, eax
je 0x500bc9
mov ecx, dword [edi]
test ecx, ecx
je 0x500bc9
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 0x500bb0
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.004fbe20
add esp, 0x20
cmp dword [esi], 0
je 0x500c0c
mov edi, dword [esp]
add edi, 4
test edi, edi
jne 0x501a8d
jmp case.0x501594.97
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x500c26
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x500c53
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x500d1a
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 0x500c8e
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500cb5
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500d1a
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 0x500bf9
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x500cdd
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500d04
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500d1a
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 0x500bf9
mov dword [esi], 2
jmp 0x500bf9
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x50103b
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 0x500479
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x50104a
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 0x500809
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f18
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x500e1e
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x500e4d
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x500f0f
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 0x500e88
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500eaf
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f18
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x500ed9
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x500f02
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x500f0f
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 0x500f15
mov dword [edi], 2
mov edx, dword [esp]
add edx, 2
mov edi, edx
jmp 0x501a8d
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x501096
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 0x501005
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x50102c
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x501128
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 0x501059
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x501084
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501096
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 0x5010a2
mov dword [edi], 2
mov ebx, dword [esp + 4]
jmp 0x500479
mov dword [edi], 2
mov ebx, dword [esp + 4]
jmp 0x500809
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501128
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 0x501134
mov dword [edi], 2
xor eax, eax
mov esi, dword [esp + 4]
mov edi, dword [esi]
cmp dword [edi], 0
jne 0x501105
mov esi, eax
mov ebx, dword [edi + 0x30]
mov ecx, dword [ebx + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x5010c5
lea eax, [ebx + ecx + 8]
mov dword [ebx + 4], edx
jmp 0x5010ec
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501120
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.004fc770
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 0x5011e9
mov dword [edi], 2
jmp 0x501105
mov dword [edi], 2
xor eax, eax
mov esi, dword [esp + 4]
mov edi, dword [esi]
cmp dword [edi], 0
jne 0x50119b
mov esi, eax
mov ebx, dword [edi + 0x30]
mov ecx, dword [ebx + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x501157
lea eax, [ebx + ecx + 8]
mov dword [ebx + 4], edx
jmp 0x501182
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x5013da
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.004fc770
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 3
push 0
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, edi
push 0
push 1
push 4
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edx, dword [esp]
cmp dword [ebp + 4], 0
je 0x50121f
cmp dword [edi], 0
jne 0x50146d
mov esi, edi
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x50124b
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x50127a
cmp dword [edi], 0
jne 0x50146d
mov esi, edi
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x501314
lea edi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x501343
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x501464
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 0x5012b7
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5012e4
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501464
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 0x50141c
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 0x50146d
jmp 0x501421
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x501464
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 0x501380
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5013ad
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501464
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 0x50146d
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x5013e5
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x50140e
mov dword [edi], 2
jmp 0x50119b
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501464
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 0x50146d
mov edx, 0x11
mov ecx, esi
push 0
push 1
push 0
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x501440
or byte [eax + 1], 0x38
cmp dword [esi], 0
mov edx, dword [esp]
jne 0x50146d
mov edi, esi
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x10]
cmp edx, 0x7f8
ja 0x501475
lea esi, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x5014a4
mov dword [esi], 2
mov edx, dword [esp]
add edx, 4
jmp 0x500b49
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov esi, eax
test esi, esi
je 0x501572
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 0x5014e1
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x50150a
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501572
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 0x50146d
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 8]
cmp edx, 0x7f8
ja 0x501537
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x50155e
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501572
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 0x50146a
mov dword [edi], 2
jmp 0x50146a
movzx esi, word [edx]
lea eax, [esi - 1]
movzx eax, ax
cmp eax, 0xa0
ja case.0x501594.97
jmp dword [eax*4 + 0x501e18]
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00516640
jmp 0x501a80
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.00512cd0
jmp 0x501a80
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.0050e680
jmp 0x501a80
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.0051ff40
jmp 0x501a80
mov eax, dword [esp + 4]
mov ebp, dword [eax]
lea edi, [edx + 2]
lea eax, [esi - 0x97]
movzx ecx, ax
cmp ecx, 4
ja 0x50164b
mov ecx, 0x15
bt ecx, eax
jae 0x50164b
movzx eax, word [edi]
lea edi, [edi + eax*2 + 4]
cmp dword [ebp], 0
jne case.0x501594.97
mov ebx, edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x14]
cmp edx, 0x7f8
ja 0x5017a2
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x5017d7
mov eax, dword [esp + 4]
mov eax, dword [eax]
xor edi, edi
cmp dword [eax], 0
jne 0x501a85
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 0x4fcefd
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.0x501751
mov dword [esp + 0x24], 0
mov edx, dword [esp]
mov edi, dword [esp + 0x14]
mov ebx, ebp
jmp dword [eax*4 + 0x50209c]
lea eax, [edx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x44], 0
xor ecx, ecx
jmp case.0x501751.1
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x501594.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 0x5019f0
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x501a24
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501b84
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.0x501594.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 0x5018a2
cmp eax, 0x9b
je 0x5018a2
cmp eax, 0x98
jne 0x501a8d
mov ebx, dword [esp + 4]
mov esi, dword [ebx]
xor eax, eax
cmp dword [esi], 0
jne 0x4fdf10
mov edx, 0x11
mov ecx, esi
push 0
push 2
push 4
push 0x40
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x50184d
or byte [eax + 1], 0x28
xor eax, eax
cmp dword [esi], 0
jne 0x4fdf10
mov edx, 1
mov ecx, esi
push 0
push 0xa
push 0
push 2
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x501876
mov byte [eax], 0x3b
xor eax, eax
cmp dword [esi], 0
jne 0x4fdf10
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x10]
cmp edx, 0x7f8
ja 0x4fdda5
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x4fddd0
mov edx, 0x20
mov ecx, ebp
push 0
push 8
push 0
push 1
call fcn.004fb7b0
add esp, 0x10
add ebx, 4
mov edx, 0x20
mov ecx, ebp
push ebx
push 0x40
push 0
push 3
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push 0x14
push 0x81
jmp 0x4fdf89
mov eax, dword [esp + 4]
mov edi, dword [eax]
cmp dword [edi], 0
jne case.0x501594.97
mov dword [esp], edx
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x14]
cmp edx, 0x7f8
ja 0x4fcaa8
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
mov edx, dword [esp]
jmp 0x4fcae2
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x5c], 0
je 0x4fcf3e
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 0x5015d6
movzx eax, word [edx + 0x22]
add eax, 0xffffff9e
movzx eax, ax
cmp eax, 0xb
ja 0x4fce1c
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00516640
jmp 0x501a80
movzx eax, word [edx + 4]
add eax, 0xffffff9e
movzx eax, ax
cmp eax, 0xb
ja 0x4fce44
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00519e90
jmp 0x501a80
movzx eax, word [edx + 6]
add eax, 0xffffff9e
movzx eax, ax
cmp eax, 0xb
ja 0x4fce65
sub esp, 0xc
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc0]
call fcn.00519e90
jmp 0x501a80
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501b64
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.0x501594.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.0051df60
nop word [eax + eax]
add esp, 0x10
mov edi, eax
test edi, edi
je case.0x501594.97
cmp edi, dword [esp + 0xb0]
mov edx, edi
jb 0x501580
cmp dword [esp + 0x20], 0
je case.0x501594.97
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne case.0x501594.97
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 4]
lea edx, [eax + 0x24]
cmp edx, 0x7f8
ja 0x501b33
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], 0x54714c
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.0x501594.97
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501b64
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.0x501594.97
add eax, 8
jmp 0x501ad0
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 0x4fc889
mov dword [ebp], 2
jmp case.0x501594.97
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501c30
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 0x501c02
lea eax, [ecx + eax + 8]
mov dword [ecx + 4], edx
jmp 0x501c29
mov dword [edi], 2
jmp case.0x501594.97
sub esp, 0xc
push 0x1000
call dword [0x545970]
add esp, 0x10
test eax, eax
je 0x501c30
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 0x501c3e
mov dword [esi], 2
mov dword [esp + 0x20], 0
mov esi, dword [ebx]
cmp dword [esi], 0
jne 0x501cb1
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0xc]
cmp edx, 0x7f8
ja 0x501c5f
lea ebp, [eax + ecx + 8]
mov dword [eax + 4], edx
jmp 0x501c8d
sub esp, 0xc
push 0x800
call dword [0x545970]
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x501dfe
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.004fc770
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 0x501d1d
mov eax, dword [esp + 0x10]
shl eax, 2
cmp dword [ebp], 0
jne 0x501d3d
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.00506ea0
add esp, 0x10
test eax, eax
je 0x501dc4
mov byte [eax], 0x8d
mov edx, 1
mov ecx, ebp
push esi
push 0x8d
push 0
push 0xe
call fcn.00506ea0
add esp, 0x10
test eax, eax
je 0x501dc4
mov byte [eax], 0x89
mov eax, dword [esp + 0x10]
jmp 0x501d3d
mov edx, 0x20
mov ecx, ebp
push 0
push 2
push esi
push 0x8d
call fcn.004fb7b0
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.004fb7b0
add esp, 0x10
lea eax, [esi + 4]
mov edx, 0x20
mov ecx, ebp
push 1
push 0x40
push eax
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov edx, 0x20
mov ecx, ebp
push 0
push 3
push esi
push 0x82
call fcn.004fb7b0
add esp, 0x10
mov eax, dword [edi + 0x20]
test eax, eax
mov edx, dword [esp]
js 0x4fc889
dec eax
sub esp, 4
mov ecx, ebx
mov edx, dword [esp + 4]
push 0
push eax
push dword [esp + 0xbc]
call fcn.00523b80
mov edx, dword [esp + 0x10]
add esp, 0x10
jmp 0x4fc889
cmp dword [ebp], 4
jne 0x501df5
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.00507960
mov eax, dword [esp + 0x30]
add esp, 0x20
jmp 0x501d3d
mov eax, dword [esp + 0x10]
jmp 0x501d3d
mov dword [esi], 2
jmp 0x501cad
mov eax, dword [esp + 0x18]
mov dword [eax], 2
jmp case.0x501594.97