Function at 0x4b1458
Capabilities:
Enumerate pe sections
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x67
push 0
push 0
dec ecx
jne 0x4b1460
push ecx
push ebx
push esi
push edi
mov byte [ebp - 0x1d], dl
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x4b197a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
call fcn.004980ac
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x39c]
mov eax, dword [eax + 0x260]
call fcn.0041f7f0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov eax, dword [eax + 0x260]
call fcn.0041f7f0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a4]
mov eax, dword [eax + 0x260]
call fcn.0041f7f0
xor eax, eax
push ebp
push 0x4b18c0
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x75], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
call fcn.00497bf0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x39c]
mov edx, dword [eax]
call dword [edx + 0xe8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov edx, dword [eax]
call dword [edx + 0xe8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a4]
mov edx, dword [eax]
call dword [edx + 0xe8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3b4]
cmp word [eax], 0x5a4d
je 0x4b154e
mov ecx, 0x4b1990
mov dl, 1
mov eax, dword [case.0x4be08e.0]
call fcn.00410c30
call fcn.00407754
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov ecx, 0x4b19b4
xor edx, edx
call fcn.00497c94
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x98]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3b4]
mov eax, dword [eax + 0x3c]
mov edx, 2
call fcn.0040cbb4
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x94]
mov edx, 0x4b19c8
call fcn.004080d8
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x24]
call fcn.00497c84
lea eax, [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3b4]
movzx eax, word [eax + 0x16]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3b4]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b19d8
call fcn.0040df28
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x24]
call fcn.00497c84
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3b4]
movzx eax, word [eax + 0xe]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3b4]
movzx eax, word [eax + 0x10]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b19fc
call fcn.0040df28
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x24]
call fcn.00497c84
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x3b8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3b4]
call fcn.004a8cb0
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x4b16bf
call fcn.00407800
jmp 0x4b3e03
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov ecx, 0x4b1a1c
xor edx, edx
call fcn.00497c94
mov esi, eax
mov eax, dword [ebp - 0x48]
cmp word [eax + 4], 0x8664
jne 0x4b1736
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 4]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1a30
call fcn.0040df28
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
mov byte [ebp - 0x75], 1
jmp 0x4b177f
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 4]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1a50
call fcn.0040df28
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 6]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1a68
call fcn.0040df28
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1a88
call fcn.0040df28
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1aa0
call fcn.0040df28
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1abc
call fcn.0040df28
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1ad8
call fcn.0040df28
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 4]
call fcn.00407dc0
mov eax, dword [ebp - 0x48]
movzx ebx, word [eax + 0x16]
mov eax, ebx
and ax, 2
cmp ax, 2
jne 0x4b1911
lea eax, [ebp - 4]
mov edx, 0x4b1afc
call fcn.0040808c
mov eax, ebx
and ax, 1
cmp ax, 1
jne 0x4b192a
lea eax, [ebp - 4]
mov edx, 0x4b1b14
call fcn.0040808c
mov eax, ebx
and ax, 4
cmp ax, 4
jne 0x4b1943
lea eax, [ebp - 4]
mov edx, 0x4b1b30
call fcn.0040808c
mov eax, ebx
and ax, 8
cmp ax, 8
jne 0x4b195c
lea eax, [ebp - 4]
mov edx, 0x4b1b4c
call fcn.0040808c
mov eax, ebx
and ax, 0x10
cmp ax, 0x10
jne 0x4b1975
lea eax, [ebp - 4]
mov edx, 0x4b1b68
call fcn.0040808c
mov eax, ebx
and ax, 0x80
cmp ax, 0x80
jne 0x4b198e
lea eax, [ebp - 4]
mov edx, 0x4b1b84
call fcn.0040808c
mov eax, ebx
and ax, 0x100
cmp ax, 0x100
jne 0x4b19a7
lea eax, [ebp - 4]
mov edx, 0x4b1ba0
call fcn.0040808c
mov eax, ebx
and ax, 0x200
cmp ax, 0x200
jne 0x4b19c0
lea eax, [ebp - 4]
mov edx, 0x4b1bb4
call fcn.0040808c
mov eax, ebx
and ax, 0x400
cmp ax, 0x400
jne 0x4b19d9
lea eax, [ebp - 4]
mov edx, 0x4b1bcc
call fcn.0040808c
mov eax, ebx
and ax, 0x800
cmp ax, 0x800
jne 0x4b19f2
lea eax, [ebp - 4]
mov edx, 0x4b1bf0
call fcn.0040808c
mov eax, ebx
and ax, 0x1000
cmp ax, 0x1000
jne 0x4b1a0b
lea eax, [ebp - 4]
mov edx, 0x4b1c10
call fcn.0040808c
mov eax, ebx
and ax, 0x2000
cmp ax, 0x2000
jne 0x4b1a24
lea eax, [ebp - 4]
mov edx, 0x4b1c28
call fcn.0040808c
mov eax, ebx
and ax, 0x4000
cmp ax, 0x4000
jne 0x4b1a3d
lea eax, [ebp - 4]
mov edx, 0x4b1c38
call fcn.0040808c
and bx, 0x8000
cmp bx, 0x8000
jne 0x4b1a56
lea eax, [ebp - 4]
mov edx, 0x4b1c54
call fcn.0040808c
mov eax, dword [ebp - 4]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x4b1a79
mov eax, dword [ebp - 0x8c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x8c]
sub ecx, 2
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004082b8
cmp dword [ebp - 4], 0
jne 0x4b1aa6
lea eax, [ebp - 4]
mov edx, 0x4b1c70
call fcn.00407e58
lea eax, [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x16]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0xb
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b1c80
call fcn.0040df28
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov ecx, 0x4b1ca4
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x18]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1cc0
call fcn.0040df28
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0x1a]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1ce4
call fcn.0040df28
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0x1b]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1d08
call fcn.0040df28
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b1d2c
call fcn.0040df28
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xec]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b1d4c
call fcn.0040df28
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b1d78
call fcn.0040df28
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1da8
call fcn.0040df28
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0xf8]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1dc4
call fcn.0040df28
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
cmp byte [ebp - 0x75], 0
jne 0x4b1e3e
lea eax, [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1de4
call fcn.0040df28
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1e04
call fcn.0040df28
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
jmp 0x4b1e86
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp - 0x48]
add eax, 0x30
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0x10
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1e28
call fcn.0040df28
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x108]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1e4c
call fcn.0040df28
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1e70
call fcn.0040df28
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x40]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1e90
call fcn.0040df28
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x44]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1ec0
call fcn.0040df28
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x46]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1ee4
call fcn.0040df28
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x48]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1f08
call fcn.0040df28
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x4a]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1f30
call fcn.0040df28
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x124]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1f58
call fcn.0040df28
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x128]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1f7c
call fcn.0040df28
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1f98
call fcn.0040df28
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x130]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1fb8
call fcn.0040df28
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x134]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x5c]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1fd0
call fcn.0040df28
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x138]
push eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x5e]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b1fe8
call fcn.0040df28
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
cmp byte [ebp - 0x75], 0
je 0x4b23c7
lea eax, [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0x48]
add eax, 0x18
add eax, 0x48
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0x10
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b200c
call fcn.0040df28
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x140]
push eax
mov eax, dword [ebp - 0x48]
add eax, 0x18
add eax, 0x50
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0x10
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2030
call fcn.0040df28
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x48]
add eax, 0x18
add eax, 0x58
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0x10
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2054
call fcn.0040df28
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x48]
add eax, 0x18
add eax, 0x60
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0x10
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2078
call fcn.0040df28
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov eax, dword [eax + 0x68]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b209c
call fcn.0040df28
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x74], eax
jmp 0x4b2538
lea eax, [ebp - 0x150]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b200c
call fcn.0040df28
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2030
call fcn.0040df28
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2054
call fcn.0040df28
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2078
call fcn.0040df28
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
lea eax, [ebp - 0x160]
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b209c
call fcn.0040df28
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b20b8
call fcn.0040df28
mov ecx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x48]
lea ebx, [eax + 0x18]
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x14]
add ebx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov ecx, 0x4b20e0
mov edx, esi
call fcn.00497c84
xor eax, eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 6]
dec eax
test eax, eax
jl 0x4b2a38
inc eax
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x16c]
mov edx, ebx
call fcn.00407fb8
mov eax, dword [ebp - 0x16c]
mov ecx, 8
mov edx, 1
call fcn.004082b8
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, esi
call fcn.00497c84
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x170]
push eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b20fc
call fcn.0040df28
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
lea eax, [ebp - 0x174]
push eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2114
call fcn.0040df28
mov ecx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
lea eax, [ebp - 0x178]
push eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2130
call fcn.0040df28
mov ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
lea eax, [ebp - 0x17c]
push eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b214c
call fcn.0040df28
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
lea eax, [ebp - 0x180]
push eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b216c
call fcn.0040df28
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
lea eax, [ebp - 0x184]
push eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2190
call fcn.0040df28
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
lea eax, [ebp - 0x188]
push eax
movzx eax, word [ebx + 0x20]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b21b4
call fcn.0040df28
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
lea eax, [ebp - 0x18c]
push eax
movzx eax, word [ebx + 0x22]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b21d8
call fcn.0040df28
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
lea eax, [ebp - 8]
call fcn.00407dc0
mov edi, dword [ebx + 0x24]
mov eax, edi
and eax, 0x20
cmp eax, 0x20
jne 0x4b2862
lea eax, [ebp - 8]
mov edx, 0x4b21fc
call fcn.00407e58
mov eax, edi
and eax, 0x40
cmp eax, 0x40
jne 0x4b2879
lea eax, [ebp - 8]
mov edx, 0x4b2218
call fcn.0040808c
mov eax, edi
and eax, 0x80
cmp eax, 0x80
jne 0x4b2894
lea eax, [ebp - 8]
mov edx, 0x4b2234
call fcn.0040808c
mov eax, edi
and eax, 0x800
cmp eax, 0x800
jne 0x4b28af
lea eax, [ebp - 8]
mov edx, 0x4b2254
call fcn.0040808c
mov eax, edi
and eax, 0x2000000
cmp eax, 0x2000000
jne 0x4b28ca
lea eax, [ebp - 8]
mov edx, 0x4b2268
call fcn.0040808c
mov eax, edi
and eax, 0x4000000
cmp eax, 0x4000000
jne 0x4b28e5
lea eax, [ebp - 8]
mov edx, 0x4b2280
call fcn.0040808c
mov eax, edi
and eax, 0x8000000
cmp eax, 0x8000000
jne 0x4b2900
lea eax, [ebp - 8]
mov edx, 0x4b2298
call fcn.0040808c
mov eax, edi
and eax, 0x10000000
cmp eax, 0x10000000
jne 0x4b291b
lea eax, [ebp - 8]
mov edx, 0x4b22ac
call fcn.0040808c
mov eax, edi
and eax, 0x20000000
cmp eax, 0x20000000
jne 0x4b2936
lea eax, [ebp - 8]
mov edx, 0x4b22c4
call fcn.0040808c
mov eax, edi
and eax, 0x40000000
cmp eax, 0x40000000
jne 0x4b2951
lea eax, [ebp - 8]
mov edx, 0x4b22e0
call fcn.0040808c
and edi, 0x80000000
cmp edi, 0x80000000
jne 0x4b296c
lea eax, [ebp - 8]
mov edx, 0x4b22fc
call fcn.0040808c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x4b298f
mov eax, dword [ebp - 0x90]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0x90]
sub ecx, 2
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.004082b8
cmp dword [ebp - 8], 0
jne 0x4b29bc
lea eax, [ebp - 8]
mov edx, 0x4b1c70
call fcn.00407e58
lea eax, [ebp - 0x190]
push eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0xb
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b2318
call fcn.0040df28
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x2c]
call fcn.00497c84
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp eax, dword [ebp - 0x54]
jbe 0x4b2a29
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
mov dword [ebp - 0x54], eax
add ebx, 0x28
dec dword [ebp - 0x84]
jne 0x4b25c6
mov eax, dword [ebp - 0x48]
lea ebx, [eax + 0x18]
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x14]
add ebx, eax
cmp byte [ebp - 0x1d], 0
je 0x4b2ab3
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3b4]
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x3c0], eax
cmp byte [ebp - 0x75], 0
je 0x4b2a9c
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
mov edx, dword [ebp - 0x48]
add edx, 0x18
sub eax, dword [edx + 0x18]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
xor edx, edx
mov ecx, dword [ebp - 0x48]
add ecx, 0x18
sub eax, dword [ecx + 0x18]
sbb edx, dword [ecx + 0x1c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x4b2c00
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
mov edx, dword [ebp - 0x48]
sub eax, dword [edx + 0x34]
mov dword [ebp - 0x5c], eax
jmp 0x4b2c00
push 0x40
push 0x1000
mov eax, dword [ebp - 0x54]
push eax
push 0
call fcn.0040a60c
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x3c0], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x3c0], 0
jne 0x4b2af0
mov ecx, 0x4b233c
mov dl, 1
mov eax, dword [case.0x4be08e.0]
call fcn.00410c30
call fcn.00407754
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
xor ecx, ecx
mov edx, dword [ebp - 0x54]
call fcn.004060f0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x194]
mov eax, 8
call fcn.0040cbdc
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x380]
call fcn.004606dc
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 6]
dec eax
test eax, eax
jl 0x4b2b77
inc eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3b4]
add edx, eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x3c0]
lea eax, [ecx + eax]
mov ecx, dword [ebx + 0x10]
call fcn.0040aee4
add ebx, 0x28
dec dword [ebp - 0x84]
jne 0x4b2b47
cmp byte [ebp - 0x75], 0
je 0x4b2bd1
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x3b4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
call fcn.0040aee4
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
mov edx, dword [ebp - 0x48]
add edx, 0x18
sub eax, dword [edx + 0x18]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
xor edx, edx
mov ecx, dword [ebp - 0x48]
add ecx, 0x18
sub eax, dword [ecx + 0x18]
sbb edx, dword [ecx + 0x1c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x4b2c00
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x3b4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
call fcn.0040aee4
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
mov edx, dword [ebp - 0x48]
sub eax, dword [edx + 0x34]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x74]
dec eax
test eax, eax
jl 0x4b3d5e
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x4c]
cmp eax, 0xd
ja case.default.0x4b2c26
jmp dword [eax*4 + 0x4b0731]
lea eax, [ebp - 0xc]
mov edx, 0x4b24f8
call fcn.00407e58
cmp byte [ebp - 0x75], 0
je 0x4b2de2
lea eax, [ebp - 0x198]
push eax
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + edx*8 + 0x70]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + edx*8 + 0x74]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x1a4], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0xb
lea edx, [ebp - 0x1b0]
mov ecx, 2
mov eax, 0x4b250c
call fcn.0040df28
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x28]
call fcn.00497c84
mov dword [ebp - 0x3c], eax
jmp 0x4b2e5c
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + edx*8 + 0x78]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + edx*8 + 0x7c]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x1a4], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0xb
lea edx, [ebp - 0x1b0]
mov ecx, 2
mov eax, 0x4b250c
call fcn.0040df28
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x28]
call fcn.00497c84
mov dword [ebp - 0x3c], eax
cmp byte [ebp - 0x75], 0
je 0x4b2e76
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov edx, dword [ebp - 0x4c]
cmp dword [eax + edx*8 + 0x70], 0
je 0x4b3d4f
cmp byte [ebp - 0x75], 0
jne 0x4b2e8d
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
cmp dword [eax + edx*8 + 0x78], 0
je 0x4b3d4f
cmp dword [ebp - 0x4c], 0
jne 0x4b33d6
cmp byte [ebp - 0x75], 0
je 0x4b2eb5
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov edx, dword [ebp - 0x4c]
mov esi, dword [eax + edx*8 + 0x70]
mov eax, dword [ebp - 0x1c]
add esi, dword [eax + 0x3c0]
jmp 0x4b2ec8
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
mov esi, dword [eax + edx*8 + 0x78]
mov eax, dword [ebp - 0x1c]
add esi, dword [eax + 0x3c0]
lea eax, [ebp - 0x2b8]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3c0]
add edx, dword [esi + 0xc]
call fcn.00406834
lea edx, [ebp - 0x2b8]
lea eax, [ebp - 0x1b8]
call fcn.00408024
lea eax, [ebp - 0x1b8]
mov edx, 0x4b2524
call fcn.0040808c
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov eax, dword [eax + 0x260]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x2bc]
push eax
mov eax, dword [esi]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2530
call fcn.0040df28
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
lea eax, [ebp - 0x2c0]
push eax
mov eax, dword [esi + 4]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b255c
call fcn.0040df28
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
lea eax, [ebp - 0x2c4]
push eax
movzx eax, word [esi + 8]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2578
call fcn.0040df28
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
lea eax, [ebp - 0x2c8]
push eax
movzx eax, word [esi + 0xa]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2594
call fcn.0040df28
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
lea eax, [ebp - 0x2cc]
push eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0xc]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 6
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b25b0
call fcn.0040df28
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
lea eax, [ebp - 0x2d0]
push eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b25c8
call fcn.0040df28
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
lea eax, [ebp - 0x2d4]
push eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b25dc
call fcn.0040df28
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
lea eax, [ebp - 0x2d8]
push eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b25fc
call fcn.0040df28
mov ecx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
lea eax, [ebp - 0x2dc]
push eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2618
call fcn.0040df28
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x18]
je 0x4b31e1
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 8]
lea eax, [ebp - 0x2e0]
mov ecx, 0x4b2638
call fcn.004080d8
mov edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x40]
call fcn.004966dc
jmp 0x4b3266
mov eax, dword [esi + 0x14]
dec eax
test eax, eax
jl 0x4b3266
inc eax
mov dword [ebp - 0x88], eax
xor ebx, ebx
lea eax, [ebp - 0x2e4]
push eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0x3c0]
mov eax, edi
add eax, dword [esi + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, edi
add eax, dword [esi + 0x20]
mov eax, dword [eax + ebx*4]
add eax, edi
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 6
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b2650
call fcn.0040df28
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov eax, dword [eax + 0x260]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec dword [ebp - 0x88]
jne 0x4b31f2
mov eax, dword [esi + 0x14]
dec eax
test eax, eax
jl 0x4b32d2
inc eax
mov dword [ebp - 0x88], eax
xor ebx, ebx
lea eax, [ebp - 0x2e8]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2660
call fcn.0040df28
mov ecx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x40]
call fcn.00497c84
inc ebx
dec dword [ebp - 0x88]
jne 0x4b3277
lea eax, [ebp - 0x2ec]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b266c
call fcn.0040df28
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x18]
dec eax
test eax, eax
jl 0x4b338b
inc eax
mov dword [ebp - 0x88], eax
xor ebx, ebx
lea eax, [ebp - 0x2f0]
push eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0x3c0]
mov eax, edi
add eax, dword [esi + 0x20]
mov eax, dword [eax + ebx*4]
add eax, edi
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 6
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2688
call fcn.0040df28
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x40]
call fcn.00497c84
inc ebx
dec dword [ebp - 0x88]
jne 0x4b332c
lea eax, [ebp - 0x2f4]
push eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2694
call fcn.0040df28
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
jmp 0x4b3d4f
cmp dword [ebp - 0x4c], 1
jne 0x4b3ac8
xor ebx, ebx
cmp byte [ebp - 0x75], 0
je 0x4b3400
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov edx, dword [ebp - 0x4c]
mov esi, dword [eax + edx*8 + 0x70]
mov eax, dword [ebp - 0x1c]
add esi, dword [eax + 0x3c0]
jmp 0x4b3413
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
mov esi, dword [eax + edx*8 + 0x78]
mov eax, dword [ebp - 0x1c]
add esi, dword [eax + 0x3c0]
cmp ebx, 0x2d
jge 0x4b3d4f
cmp dword [esi + 0xc], 0
je 0x4b3d4f
test ebx, ebx
jle 0x4b3440
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x39c]
mov eax, dword [eax + 0x260]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x2f8]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0xc]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 6
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2688
call fcn.0040df28
mov edx, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x39c]
mov eax, dword [eax + 0x260]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x2fc]
push eax
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0xc]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 6
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b26b8
call fcn.0040df28
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x300]
push eax
mov eax, dword [esi]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b26d0
call fcn.0040df28
mov ecx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x40]
call fcn.00497c84
lea eax, [ebp - 0x304]
push eax
mov eax, dword [esi + 4]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2700
call fcn.0040df28
mov ecx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x40]
call fcn.00497c84
lea eax, [ebp - 0x308]
push eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b2740
call fcn.0040df28
mov ecx, dword [ebp - 0x308]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x40]
call fcn.00497c84
lea eax, [ebp - 0x30c]
push eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0xc]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 6
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b2774
call fcn.0040df28
mov ecx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x40]
call fcn.00497c84
lea eax, [ebp - 0x310]
push eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x4b278c
call fcn.0040df28
mov ecx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x40]
call fcn.00497c84
lea eax, [ebp - 0x314]
push eax
lea edx, [ebp - 0x314]
or ecx, 0xffffffff
mov eax, 0x4b27a4
call fcn.0040df28
mov ecx, dword [ebp - 0x314]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x40]
call fcn.00497c84
mov dword [ebp - 0x44], eax
cmp dword [esi + 8], 0xffffffff
je 0x4b3a9a
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3c0]
add edx, dword [esi + 0xc]
call fcn.00407fb8
cmp byte [ebp - 0x1d], 0
jne 0x4b36d6
mov eax, dword [ebp - 0x14]
call fcn.00408250
push eax
call fcn.0040a51c
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x50], eax
cmp byte [ebp - 0x75], 0
je 0x4b3a6d
jmp 0x4b3854
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x50]
add edx, edx
add edx, edx
add edx, edx
add eax, edx
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x3c0]
mov ecx, dword [ebp - 0x58]
add edx, dword [ecx]
add edx, 2
call fcn.00407fb8
lea eax, [ebp - 0x318]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x50]
add eax, eax
add eax, eax
add eax, eax
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0x10
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0xb
lea edx, [ebp - 0x1b0]
mov ecx, 2
mov eax, 0x4b27b8
call fcn.0040df28
mov ecx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x44]
call fcn.00497c84
lea eax, [ebp - 0x31c]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x50]
add eax, eax
add eax, eax
add eax, eax
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0x10
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0xb
lea edx, [ebp - 0x1b0]
mov ecx, 2
mov eax, 0x4b27b8
call fcn.0040df28
mov edx, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x39c]
mov eax, dword [eax + 0x260]
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp byte [ebp - 0x1d], 0
jne 0x4b3851
mov eax, dword [ebp - 0x10]
call fcn.00408250
push eax
mov eax, dword [ebp - 0x6c]
push eax
call fcn.0040a47c
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x70]
mov dword [eax], edx
inc dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x50]
add eax, eax
add eax, eax
add eax, eax
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
cmp dword [eax + 4], 0
jne 0x4b36ea
cmp dword [eax], 0
jne 0x4b36ea
jmp 0x4b3ab6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x50]
lea eax, [eax + edx*4]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x50]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x1c]
add eax, dword [edx + 0x3c0]
add eax, 2
mov dword [ebp - 0x7c], eax
cmp byte [ebp - 0x1d], 0
je 0x4b3946
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x50]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x80], eax
lea ecx, [ebp - 0x10]
mov eax, dword [0x5c3574]
mov eax, dword [eax]
mov edx, dword [ebp - 0x80]
call fcn.00579fac
mov eax, dword [ebp - 0x80]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x324]
mov eax, 8
call fcn.0040cbdc
mov eax, dword [ebp - 0x324]
lea edx, [ebp - 0x320]
call fcn.0040c2c0
mov eax, dword [ebp - 0x320]
push eax
lea edx, [ebp - 0x328]
mov eax, dword [ebp - 0x10]
call fcn.0040c2c0
mov edx, dword [ebp - 0x328]
pop eax
call fcn.004081e8
jne 0x4b3951
inc dword [ebp - 0x50]
jmp 0x4b3a6d
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x7c]
call fcn.00407fb8
lea eax, [ebp - 0x32c]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x50]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0xb
lea edx, [ebp - 0x1b0]
mov ecx, 2
mov eax, 0x4b27b8
call fcn.0040df28
mov ecx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x44]
call fcn.00497c84
lea eax, [ebp - 0x330]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x50]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x58]
sub edx, dword [eax + 0x3c0]
mov dword [ebp - 0x1a8], edx
mov byte [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0xb
lea edx, [ebp - 0x1b0]
mov ecx, 2
mov eax, 0x4b27b8
call fcn.0040df28
mov edx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x39c]
mov eax, dword [eax + 0x260]
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp byte [ebp - 0x1d], 0
jne 0x4b3a6a
mov eax, dword [ebp - 0x10]
call fcn.00408250
push eax
mov eax, dword [ebp - 0x6c]
push eax
call fcn.0040a47c
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x70]
mov dword [eax], edx
inc dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi + 0x10]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x50]
add eax, eax
add eax, eax
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
cmp dword [eax], 0
jne 0x4b3890
jmp 0x4b3ab6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov ecx, 0x4b27d0
mov edx, dword [ebp - 0x44]
call fcn.00497c84
inc ebx
add esi, 0x14
cmp ebx, 0x2d
jl 0x4b341c
jmp 0x4b3d4f
cmp dword [ebp - 0x4c], 5
jne 0x4b3d4f
cmp byte [ebp - 0x75], 0
je 0x4b3b19
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov edx, dword [ebp - 0x4c]
mov esi, dword [eax + edx*8 + 0x70]
mov eax, dword [ebp - 0x1c]
add esi, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x48]
add eax, 0x18
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + edx*8 + 0x70]
mov edx, dword [ebp - 0x1c]
add eax, dword [edx + 0x3c0]
mov edx, dword [ebp - 0x48]
add edx, 0x18
mov ecx, dword [ebp - 0x4c]
add eax, dword [edx + ecx*8 + 0x74]
mov dword [ebp - 0x54], eax
jmp 0x4b3d46
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
mov esi, dword [eax + edx*8 + 0x78]
mov eax, dword [ebp - 0x1c]
add esi, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + edx*8 + 0x78]
mov edx, dword [ebp - 0x1c]
add eax, dword [edx + 0x3c0]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
add eax, dword [edx + ecx*8 + 0x7c]
mov dword [ebp - 0x54], eax
jmp 0x4b3d46
cmp dword [esi + 4], 0
je 0x4b3d4f
lea eax, [ebp - 0x334]
push eax
mov eax, dword [esi]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0
mov eax, dword [esi + 4]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 0x1a4], 0
mov eax, dword [esi + 4]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0
lea edx, [ebp - 0x1b0]
mov ecx, 2
mov eax, 0x4b27ec
call fcn.0040df28
mov ecx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x3c]
call fcn.00497c84
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 4]
sub eax, 8
shr eax, 1
dec eax
test eax, eax
jl 0x4b3d3f
inc eax
mov dword [ebp - 0x88], eax
xor ebx, ebx
lea eax, [ebp - 0x338]
push eax
movzx eax, word [esi + ebx*2 + 8]
and ax, 0xfff
movzx eax, ax
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
movzx eax, word [esi + ebx*2 + 8]
shr eax, 0xc
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b2820
call fcn.0040df28
mov ecx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x30]
call fcn.00497c84
lea eax, [ebp - 0x33c]
push eax
movzx eax, word [esi + ebx*2 + 8]
and ax, 0xfff
movzx eax, ax
add eax, dword [esi]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
movzx eax, word [esi + ebx*2 + 8]
shr eax, 0xc
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xac]
mov ecx, 1
mov eax, 0x4b2820
call fcn.0040df28
mov edx, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a4]
mov eax, dword [eax + 0x260]
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp byte [ebp - 0x1d], 0
jne 0x4b3d32
movzx eax, word [esi + ebx*2 + 8]
shr eax, 0xc
cmp eax, 3
jne 0x4b3cdf
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi]
movzx edx, word [esi + ebx*2 + 8]
and dx, 0xfff
movzx edx, dx
add eax, edx
mov edx, dword [ebp - 0x5c]
add dword [eax], edx
movzx eax, word [esi + ebx*2 + 8]
shr eax, 0xc
cmp eax, 0xa
jne 0x4b3d32
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi]
movzx edx, word [esi + ebx*2 + 8]
and dx, 0xfff
movzx edx, dx
add eax, edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
add eax, dword [ebp - 0x68]
adc edx, dword [ebp - 0x64]
push edx
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c0]
add eax, dword [esi]
movzx edx, word [esi + ebx*2 + 8]
and dx, 0xfff
movzx edx, dx
add eax, edx
pop dword [eax]
pop dword [eax + 4]
inc ebx
dec dword [ebp - 0x88]
jne 0x4b3be0
mov eax, dword [esi + 4]
add eax, esi
mov esi, eax
cmp esi, dword [ebp - 0x54]
jb 0x4b3b51
inc dword [ebp - 0x4c]
dec dword [ebp - 0x84]
jne 0x4b2c1a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b18c7
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x398]
mov eax, dword [eax + 0x2b4]
call fcn.004980f8
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x39c]
mov eax, dword [eax + 0x260]
call fcn.0041f8ac
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a0]
mov eax, dword [eax + 0x260]
call fcn.0041f8ac
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3a4]
mov eax, dword [eax + 0x260]
call fcn.0041f8ac
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b1981
lea eax, [ebp - 0x33c]
mov edx, 0x21
call fcn.00407de4
lea eax, [ebp - 0x1b8]
mov edx, 2
call fcn.00407de4
lea eax, [ebp - 0x198]
mov edx, 0x37
call fcn.00407de4
lea eax, [ebp - 0xb4]
mov edx, 2
call fcn.00407de4
lea eax, [ebp - 0x9c]
mov edx, 3
call fcn.00407de4
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00407de4
lea eax, [ebp - 0x18]
call fcn.00407dc0
ret