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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x4ba3c7
sub esp, 0xec
mov ecx, dword [esp + 0x104]
test ecx, ecx
jle 0x4b85d9
mov edx, dword [esp + 0xfc]
test edx, edx
je 0x4b85e0
test edx, 0x60
jne 0x4b85e0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.0047fcb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0xc], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b859e
mov dword [edx + 0x10], eax
jmp 0x4b85a6
lea edi, [edx + 0x10]
call fcn.0045efc0
mov dword [esp], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.004b7630
movzx eax, byte [esp + 8]
test al, al
jne 0x4b85d2
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0xfc]
jmp 0x4b85e0
add esp, 0xec
ret
mov edx, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
mov dword [edi + 0xc], 0
mov ebx, dword [0xe996c0]
test ebx, ebx
jne 0x4b8601
mov dword [edi + 0x10], 0
jmp 0x4b8611
lea ebx, [edi + 0x10]
xor eax, eax
mov ebp, edi
mov edi, ebx
call fcn.0045efc0
mov edi, ebp
mov dword [edi + 0x1c], edx
mov ebx, dword [0xe996c0]
test ebx, ebx
jne 0x4b8634
mov ebx, dword [esp + 0xf4]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf8]
mov dword [edi + 0x18], ebp
jmp 0x4b8661
lea ebx, [edi + 0x14]
mov eax, dword [esp + 0xf4]
mov ebp, edi
mov edi, ebx
call fcn.0045efc0
lea edi, [ebp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0xf8]
call fcn.0045efc0
mov ebp, eax
mov edi, dword [esp + 0xf0]
nop
mov esi, edx
and edx, 0x1f
cmp edx, 0x10
jbe 0x4b9461
cmp edx, 0x15
ja 0x4b8c01
cmp edx, 0x13
ja 0x4b868c
cmp edx, 0x11
je 0x4b8c13
jmp 0x4b93fe
cmp edx, 0x14
je 0x4b898b
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x4b88c7
test esi, 0x200
jne 0x4b86b1
lea eax, [0x6d4be4]
jmp 0x4b86cb
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004813e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov eax, dword [eax + 0x80]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4b873c
mov dword [esp + 0x7c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x9c], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x63efa0]
mov dword [esp + 0x10], ecx
call fcn.00447550
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045f7b0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b8795
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
mov ebx, dword [esp + 0xfc]
test ebx, 0x200
jmp 0x4b87b9
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045efc0
mov ebx, dword [esp + 0xfc]
test ebx, 0x200
mov eax, edx
mov edx, dword [esp + 0xb4]
je 0x4b87c4
mov ebp, dword [esp + 0xf8]
jmp 0x4b87e5
test ebx, 0x80
je 0x4b87d8
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp]
jmp 0x4b87e1
mov ebp, dword [esp + 0xf8]
mov esi, ebp
test esi, esi
je 0x4b8854
inc eax
cmp ecx, eax
jae 0x4b8847
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b8830
mov dword [edi], eax
jmp 0x4b8835
call fcn.0045efc0
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x7b
jmp 0x4b8959
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4b8899
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b88b9
mov dword [edi], edx
jmp 0x4b88c0
mov eax, edx
call fcn.0045efc0
add esp, 0xec
ret
nop
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi + 8]
mov ebp, dword [edi]
cmp esi, ecx
jae 0x4b8924
mov dword [esp + 0x7c], edx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 4
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xf0]
mov dword [ebp + edx], 0x5b70616d
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b8940
mov dword [edi], ebp
jmp 0x4b894b
mov ecx, eax
mov eax, ebp
call fcn.0045efc0
mov eax, ecx
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0048c3a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
xor ebx, ebx
jmp 0x4ba0e0
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047f860
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x4b8bca
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b8b4d
mov eax, dword [esp + 0xfc]
test eax, 0x200
jne 0x4b89df
lea eax, [0x6d4be4]
mov ecx, dword [esp + 0xf4]
jmp 0x4b8a05
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004813e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4b8a76
mov dword [esp + 0x7c], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x94], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x63efa0]
mov dword [esp + 0x10], ecx
call fcn.00447550
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045f7b0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b8ac2
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4b8ad9
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045efc0
mov eax, edx
mov edx, dword [esp + 0xb4]
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4b8b1e
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b8b41
mov dword [edi], edx
jmp 0x4b979b
mov eax, edx
call fcn.0045efc0
jmp 0x4b979b
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4b8b9a
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 5
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b8bbe
mov dword [edi], ebp
jmp 0x4b979b
mov eax, ebp
call fcn.0045efc0
jmp 0x4b979b
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x14], eax
call fcn.004b8510
jmp 0x4b979b
cmp edx, 0x17
ja 0x4b924c
cmp edx, 0x16
je 0x4b90d8
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x100]
cmp eax, 0x71
jg 0x4b8c32
cmp eax, 0x58
je 0x4b8c40
cmp eax, 0x71
je 0x4b8c40
jmp 0x4b8e25
cmp eax, 0x73
je 0x4b8c40
cmp eax, 0x78
jne 0x4b8e25
test esi, 0x200
jne 0x4b8c5b
mov dword [esp + 0x80], eax
lea eax, [0x6d4be4]
mov dword [esp + 0x3c], eax
jmp 0x4b8c79
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004813e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ebx, ecx
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x4b8df7
mov eax, dword [esp + 0x74]
cmp eax, 0x17
je 0x4b8da5
mov eax, dword [esp + 0xfc]
test eax, 0x100
jne 0x4b8d10
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0047fea0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
lea ecx, [0x63efa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00447490
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
xor ecx, ecx
jmp 0x4b9faa
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0047fea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.00481050
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp dword [0xe72970], ecx
jne 0x4b8d84
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x4b9f8d
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0047e8f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x4b9f8d
mov eax, dword [esp + 0xf4]
cmp dword [0xe72970], eax
jne 0x4b8dc8
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x4b9f1c
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.0047e8f0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x4b9f1c
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b9058
test esi, 0x200
jne 0x4b8e41
lea ecx, [0x6d4be4]
jmp 0x4b8e5d
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004813e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x80]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [edx + eax]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4b8ece
mov dword [esp + 0x44], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x90], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x63efa0]
mov dword [esp + 0x10], ecx
call fcn.00447550
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045f7b0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b8f1a
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4b8f31
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045efc0
mov eax, edx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x74]
cmp ebx, 0x17
jne 0x4b8fbf
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp]
test esi, esi
jne 0x4b8fc6
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4b8f91
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b8fb1
mov dword [edi], edx
jmp 0x4b8fb8
mov eax, edx
call fcn.0045efc0
add esp, 0xec
ret
mov ebp, dword [esp + 0xf8]
lea esi, [eax + 1]
cmp ecx, esi
jb 0x4b8fd2
cmp ebx, 0x17
jmp 0x4b9038
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b901f
mov dword [edi], eax
mov edx, dword [esp + 0x74]
cmp edx, 0x17
jmp 0x4b902b
call fcn.0045efc0
mov edx, dword [esp + 0x74]
cmp edx, 0x17
mov ebx, edx
mov ebp, dword [esp + 0xf8]
mov esi, ecx
mov edx, eax
mov dword [edi + 4], esi
mov byte [esi + edx - 1], 0x7b
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
mov eax, 0
jmp 0x4b9dcd
mov ecx, dword [edi + 4]
inc ecx
mov eax, dword [edi]
mov esi, dword [edi + 8]
cmp esi, ecx
jae 0x4b90c2
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b90ab
mov dword [edi], eax
jmp 0x4b90b0
call fcn.0045efc0
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov dword [edi + 4], ecx
mov byte [ecx + eax - 1], 0x5b
mov eax, dword [esp + 0xfc]
xor ecx, ecx
jmp 0x4b9c02
test ecx, ecx
je 0x4b90e0
xor eax, eax
jmp 0x4b911c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00480a00
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
test al, al
je 0x4b93fe
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047f860
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, edx
and edx, 0x1f
cmp edx, 0x15
ja 0x4b9159
cmp edx, 0x11
je 0x4b9167
cmp edx, 0x15
je 0x4b9167
jmp 0x4b922b
cmp edx, 0x17
je 0x4b9167
cmp edx, 0x19
jne 0x4b922b
nop
mov edx, dword [esp + 0xf0]
mov ebp, dword [edx + 4]
inc ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp edi, ebp
jae 0x4b91f1
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0x74], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b91d4
mov dword [edi], eax
jmp 0x4b91d9
call fcn.0045efc0
mov edx, edi
mov ebx, dword [esp + 0x74]
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov dword [edx + 4], ebp
mov byte [ebp + esi - 1], 0x26
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x14], eax
call fcn.004b8510
add esp, 0xec
ret
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
jmp 0x4b93fe
cmp edx, 0x18
je 0x4b943b
cmp edx, 0x19
jne 0x4b93f9
movzx eax, byte [edi + 0x2c]
test al, al
je 0x4b9379
test esi, 0x200
jne 0x4b927a
lea eax, [0x6d4be4]
jmp 0x4b9294
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004813e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov eax, dword [eax + 0x80]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [edx + eax]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4b9305
mov dword [esp + 0x4c], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x98], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x63efa0]
mov dword [esp + 0x10], ecx
call fcn.00447550
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x7c], esi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x78], ebx
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045f7b0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
mov eax, dword [0xe996c0]
test eax, eax
jne 0x4b9351
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
jmp 0x4b935d
mov eax, dword [esp + 0xb4]
call fcn.0045efc0
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov eax, dword [edi + 4]
inc eax
mov edx, dword [edi]
mov ecx, dword [edi + 8]
cmp ecx, eax
jae 0x4b93ea
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b93cc
mov dword [edi], eax
jmp 0x4b93d1
call fcn.0045efc0
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x7b
xor eax, eax
jmp 0x4b9825
cmp edx, 0x1a
jne 0x4b9422
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004b6cd0
jmp 0x4b979b
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004b55a0
jmp 0x4b979b
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x100]
mov dword [esp + 0xc], eax
call fcn.004b6490
jmp 0x4b979b
cmp edx, 0xc
ja 0x4b96c9
cmp edx, 1
ja 0x4b95ec
test edx, edx
jne 0x4b95cc
test ecx, ecx
jne 0x4b9532
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp edx, ecx
jae 0x4b94c9
mov dword [esp + 0x7c], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0xb4], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x679208]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0045f7b0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
mov eax, dword [0xe996c0]
test eax, eax
jne 0x4b9521
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
jmp 0x4b979b
mov eax, dword [esp + 0xb4]
call fcn.0045efc0
jmp 0x4b979b
mov ecx, dword [esp + 0x100]
cmp ecx, 0x76
jne 0x4b95bb
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4b958b
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 5
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b95af
mov dword [edi], ebp
jmp 0x4b979b
mov eax, ebp
call fcn.0045efc0
jmp 0x4b979b
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004b5810
jmp 0x4b979b
movzx eax, byte [ebp]
mov dword [esp], edi
mov byte [esp + 4], al
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
call fcn.004b5d60
jmp 0x4b979b
cmp edx, 6
ja 0x4b9660
cmp edx, 3
ja 0x4b9610
cmp edx, 2
jne 0x4b9605
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b963b
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b963b
cmp edx, 4
jne 0x4b9620
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b963b
cmp edx, 5
jne 0x4b962f
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b963b
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004b5e50
jmp 0x4b979b
cmp edx, 9
ja 0x4b9686
cmp edx, 7
jne 0x4b9671
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4b96a4
cmp edx, 8
jne 0x4b967e
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4b96a4
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4b96a4
cmp edx, 0xa
jne 0x4b9692
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4b96a4
cmp edx, 0xb
jne 0x4b969f
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4b96a4
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004b5e50
jmp 0x4b979b
cmp edx, 0xe
ja 0x4b972a
cmp edx, 0xd
jne 0x4b9702
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004b6170
jmp 0x4b979b
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004b6170
jmp 0x4b979b
cmp edx, 0xf
jne 0x4b976a
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0x100]
mov dword [esp + 0x18], eax
call fcn.004b62d0
jmp 0x4b979b
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0x100]
mov dword [esp + 0x18], eax
call fcn.004b62d0
add esp, 0xec
ret
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004b5510
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004b8510
mov eax, dword [esp + 0x64]
inc eax
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x64], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00480950
mov eax, dword [esp + 0x64]
cmp dword [esp + 0xc], eax
jle 0x4b9b08
test eax, eax
jle 0x4b993f
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b98d7
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4b98af
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b98ca
mov dword [edi], ebp
jmp 0x4b9946
mov ecx, eax
mov eax, ebp
call fcn.0045efc0
mov eax, ecx
jmp 0x4b9946
mov ecx, dword [edi + 4]
inc ecx
mov edx, dword [edi]
mov ebx, dword [edi + 8]
cmp ebx, ecx
jae 0x4b9935
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b992a
mov dword [edi], eax
jmp 0x4b992f
call fcn.0045efc0
mov edx, eax
mov eax, dword [esp + 0x64]
mov dword [edi + 4], ecx
mov byte [ecx + edx - 1], 0x20
jmp 0x4b9946
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2b]
test cl, cl
jne 0x4b995a
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b97a2
mov ecx, dword [esp + 0xfc]
test ecx, 0x200
jne 0x4b9978
lea edx, [0x6d4be4]
mov ebx, dword [esp + 0xf4]
jmp 0x4b99a6
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004813e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [edx + 0x2c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call ecx
lea edi, [esp + 0xb8]
lea esi, [esp + 8]
call fcn.0045f54e
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
test eax, eax
je 0x4b9af8
nop
mov edx, dword [esp + 0xf0]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp esi, ebp
jae 0x4b9a37
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0xa0], ecx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x63efa0]
mov dword [esp + 0x10], ecx
call fcn.00447550
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebp
mov dword [esp + 0xb4], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f7b0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b9a83
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4b9a9a
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045efc0
mov eax, edx
mov edx, dword [esp + 0xb4]
inc eax
cmp ecx, eax
jae 0x4b9aee
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b9ae5
mov dword [edi], eax
jmp 0x4b9aea
call fcn.0045efc0
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x3a
jmp 0x4b9aff
mov edi, dword [esp + 0xf0]
mov eax, dword [esp + 0x64]
jmp 0x4b97a2
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4b9b6b
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b9b62
mov dword [edi], eax
jmp 0x4b9b67
call fcn.0045efc0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x7d
jmp 0x4b979b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0047fb00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004b8510
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov eax, ebx
mov edx, dword [esp + 0x74]
mov ebx, esi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x58], ecx
cmp edx, 0x17
jne 0x4b9c10
mov esi, dword [ebp + 4]
jmp 0x4b9c48
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0047fea0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
cmp esi, ecx
jle 0x4b9cda
test ecx, ecx
jle 0x4b9b78
mov esi, dword [edi + 4]
inc esi
mov edx, dword [edi]
mov ecx, dword [edi + 8]
cmp ecx, esi
jae 0x4b9cc9
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b9cab
mov dword [edi], eax
jmp 0x4b9cb0
call fcn.0045efc0
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, ecx
mov edx, eax
mov eax, dword [esp + 0xfc]
mov dword [edi + 4], esi
mov byte [esi + edx - 1], 0x20
mov ecx, dword [esp + 0x58]
jmp 0x4b9b78
nop
mov eax, dword [edi + 4]
inc eax
mov ecx, dword [edi]
mov edx, dword [edi + 8]
cmp edx, eax
jae 0x4b9d39
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b9d2e
mov dword [edi], eax
jmp 0x4b9d33
call fcn.0045efc0
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [edi + 4], eax
mov byte [eax + ecx - 1], 0x5d
jmp 0x4b979b
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0047fb00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004b8510
mov eax, dword [esp + 0x5c]
inc eax
mov ebx, dword [esp + 0x74]
cmp ebx, 0x17
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov ecx, edx
mov edx, esi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x5c], eax
jne 0x4b9dd8
mov esi, dword [ebp + 4]
jmp 0x4b9e10
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.0047fea0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
cmp esi, eax
jle 0x4b9eb0
test eax, eax
jle 0x4b9d46
mov esi, dword [edi + 4]
lea ebx, [esi + 2]
mov ecx, dword [edi + 8]
mov ebp, dword [edi]
cmp ecx, ebx
jae 0x4b9e77
mov dword [esp + 0x7c], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0xf4]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov word [ebp + esi], 0x202c
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x4b9e92
mov dword [edi], ebp
jmp 0x4b9e9d
mov ecx, eax
mov eax, ebp
call fcn.0045efc0
mov eax, ecx
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
jmp 0x4b9d46
nop
mov eax, dword [edi + 4]
inc eax
mov ecx, dword [edi]
mov edx, dword [edi + 8]
cmp edx, eax
jae 0x4b9f0f
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4b9f04
mov dword [edi], eax
jmp 0x4b9f09
call fcn.0045efc0
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [edi + 4], eax
mov byte [eax + ecx - 1], 0x7d
jmp 0x4b979b
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0xa4], ecx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x88]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004b6630
add esp, 0xec
ret
mov ebx, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
jmp 0x4b9f1c
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0xb0]
mov byte [ebx + edx], al
lea ecx, [edx + 1]
mov eax, ebx
mov edx, dword [esp + 0x40]
cmp ecx, edx
jge 0x4ba038
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0047fb00
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x74], eax
cmp eax, 9
ja 0x4ba014
cmp eax, 7
jne 0x4ba000
mov eax, dword [ecx]
jmp 0x4b9f97
cmp eax, 8
jne 0x4ba00a
movzx eax, byte [ecx]
jmp 0x4b9f97
cmp eax, 9
jne 0x4ba03f
movzx eax, word [ecx]
jmp 0x4b9f97
cmp eax, 0xa
jne 0x4ba020
mov eax, dword [ecx]
jmp 0x4b9f97
cmp eax, 0xb
jne 0x4ba02c
mov eax, dword [ecx]
jmp 0x4b9f97
cmp eax, 0xc
jne 0x4ba03f
mov eax, dword [ecx]
jmp 0x4b9f97
mov ecx, edx
jmp 0x4b9f8d
lea eax, [0x64e320]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x677260]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
lea ecx, [0x644980]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00433470
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x3a
mov ecx, dword [esp + 0x68]
lea edx, [ecx + ecx*2]
shl edx, 2
mov ebx, dword [esp + 0x8c]
add edx, dword [ebx + 0xc]
mov ebp, dword [edx]
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x14], ebp
call fcn.004b8510
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 0xc]
mov eax, dword [esp + 0x68]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
cmp ebx, edx
jge 0x4ba2e4
mov dword [esp + 0x68], ebx
mov dword [esp + 0xb0], ecx
mov ebp, dword [ecx]
mov esi, dword [ecx + 4]
mov edi, edx
mov edx, dword [ecx + 8]
test ebx, ebx
jle 0x4ba23f
mov dword [esp + 0x74], edx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ebp
mov ecx, dword [esp + 0xf0]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x4ba1c1
mov ebx, dword [ecx + 4]
lea edx, [ebx + 2]
mov esi, dword [ecx + 8]
mov ebp, dword [ecx]
cmp esi, edx
jae 0x4ba181
mov dword [esp + 0x78], ebx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 2
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov word [ebp + ebx], 0x202c
mov dword [ecx + 4], edx
mov dword [ecx + 8], esi
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4ba19c
mov dword [ecx], ebp
jmp 0x4ba1ad
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, ebp
call fcn.0045efc0
mov eax, ebx
mov edi, edx
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp 0x4ba23f
nop
mov ebx, dword [ecx + 4]
inc ebx
mov edi, dword [ecx]
mov eax, dword [ecx + 8]
cmp eax, ebx
jae 0x4ba237
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4ba215
mov dword [edi], eax
jmp 0x4ba21a
call fcn.0045efc0
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
mov ebx, ecx
mov edi, eax
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], ebx
mov byte [ebx + edi - 1], 0x20
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x104]
lea ebx, [edx + 1]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x14], ebx
call fcn.004b8510
nop
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4ba079
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4ba2d6
mov dword [edi], eax
jmp 0x4ba2db
call fcn.0045efc0
mov edx, eax
mov eax, edi
jmp 0x4ba079
mov eax, dword [esp + 0xf0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4ba35d
nop
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4ba350
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4ba347
mov dword [edi], eax
jmp 0x4ba34c
call fcn.0045efc0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x7d
jmp 0x4b979b
nop
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4ba3ba
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x4ba3b1
mov dword [edi], eax
jmp 0x4ba3b6
call fcn.0045efc0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x5d
jmp 0x4b979b
call fcn.0045dbb0
jmp fcn.004b8510