Function at 0x4b4380
Capabilities:
Hash data using fnv
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3f4]
cmp eax, dword [ecx + 8]
jbe 0x4b6f1f
sub esp, 0x474
mov eax, 0
mov dword [esp + 0x470], eax
mov byte [esp + 0x4e], 0
mov dword [esp + 0x484], 0
mov dword [esp + 0x488], 0
mov dword [esp + 0x118], 0x75727473
mov dword [esp + 0x11c], 0x7b207463
xor eax, eax
xor ecx, ecx
jmp 0x4b43f7
movzx edx, byte [esp + eax + 0x118]
inc eax
imul ecx, ecx, 0x1000193
xor ecx, edx
cmp eax, 8
jl 0x4b43e6
mov dword [esp + 0x64], ecx
lea eax, [0x603660]
mov dword [esp], eax
mov eax, dword [esp + 0x47c]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044b240
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2b8], eax
lea edi, [esp + 0x210]
xor eax, eax
call fcn.004645c0
lea edi, [esp + 0x308]
call fcn.004645c9
lea edi, [esp + 0x388]
call fcn.004645bd
lea ecx, [esp + 0x388]
mov dword [esp + 0x314], ecx
call fcn.0044fff0
mov eax, dword [esp]
mov dword [esp + 0x310], eax
mov dword [esp + 0x210], 0x75727473
mov dword [esp + 0x214], 0x7b207463
mov eax, dword [esp + 0x478]
mov ecx, dword [esp + 0x47c]
mov edx, dword [esp + 0x64]
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x98], ebx
mov ebx, 0x40
mov dword [esp + 0x7c], ebx
lea ebx, [esp + 0x210]
mov dword [esp + 0x270], ebx
mov ebx, 8
mov dword [esp + 0x78], ebx
mov ebx, 1
mov byte [esp + 0x4c], bl
xor ebx, ebx
mov dword [esp + 0x70], ebx
xor ebx, ebx
mov byte [esp + 0x4a], bl
xor ebx, ebx
mov dword [esp + 0x9c], ebx
xor ebx, ebx
mov dword [esp + 0x84], ebx
xor ebx, ebx
mov dword [esp + 0x274], ebx
xor ebx, ebx
jmp 0x4b4535
mov ecx, dword [esp + 0x2b4]
add ecx, 0x34
mov edx, dword [esp + 0xac]
inc edx
mov ebp, dword [esp + 0x274]
mov ebx, edx
movzx ebp, byte [esp + 0x4b]
mov edi, dword [esp + 0x27c]
mov edx, esi
mov dword [esp + 0x7c], eax
mov eax, ecx
mov esi, dword [esp + 0x94]
mov ecx, dword [esp + 0x47c]
mov dword [esp + 0x27c], edi
mov dword [esp + 0x94], esi
mov dword [esp + 0xb0], edx
xchg ebp, eax
mov byte [esp + 0x4b], al
xchg ebp, eax
cmp ecx, ebx
jle 0x4b4fa7
lea edi, [esp + 0x354]
mov esi, eax
call fcn.00464a5e
mov ecx, dword [esp + 0x358]
mov esi, eax
mov eax, dword [esp + 0x354]
test ecx, ecx
je 0x4b6e9f
mov dword [esp + 0x2b4], esi
mov dword [esp + 0xac], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b4280
movzx eax, byte [esp + 8]
test al, al
je 0x4b6e25
mov eax, dword [esp + 0x364]
test eax, eax
je 0x4b6dab
lea edi, [esp]
lea esi, [esp + 0x354]
call fcn.00464a5e
call fcn.004b7600
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x2b0], ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], ecx
mov dword [esp + 0x2f4], edx
movzx eax, byte [ecx + 0xf]
test al, 0x40
setne al
movzx edx, byte [esp + 0x4b]
or eax, edx
mov byte [esp + 0x4b], al
test ebx, ebx
je 0x4b4672
mov edx, dword [esp + 0x84]
test edx, edx
je 0x4b4680
mov dword [esp + 0x100], ebx
mov dword [esp + 0x2ac], ebp
cmp edx, ebx
jne 0x4b6d25
mov eax, dword [esp + 0x274]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00402f60
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b6d25
movzx eax, byte [esp + 0x4b]
mov ecx, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x274]
jmp 0x4b4680
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x274]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x274], ebp
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
call fcn.004ad8d0
mov eax, dword [esp + 4]
mov dword [esp + 0x278], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x8c], ecx
lea edx, [esp + 0x1f0]
mov dword [esp], edx
call fcn.0044f100
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb0]
xor ebx, ebx
jmp 0x4b6065
mov dword [esp + 0xb0], edx
lea eax, [esp + 0x1d0]
mov dword [esp], eax
lea eax, [0x66cfcc]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x278]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x10], edx
call fcn.0044ec90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x7c]
cmp ebp, edx
jb 0x4b4736
mov esi, dword [esp + 0x270]
jmp 0x4b478b
mov dword [esp + 0xf8], eax
mov dword [esp + 0x294], ebx
mov ecx, dword [esp + 0x270]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5f1b20]
mov dword [esp + 0x10], ecx
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x294]
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x270], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00464cc0
mov eax, dword [esp + 0x2ec]
movzx eax, byte [eax]
test al, 8
je 0x4b4a49
mov eax, dword [esp + 0x2f0]
movzx eax, byte [eax + 0xf]
and eax, 0x1f
cmp eax, 0x16
jne 0x4b4807
mov eax, dword [esp + 0x2b0]
mov dword [esp], eax
call fcn.004af050
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 0x16
je 0x4b6cbe
cmp eax, 0x14
je 0x4b6cbe
mov eax, dword [esp + 0x2f0]
movzx eax, byte [eax + 0xf]
and eax, 0x1f
cmp eax, 0x14
jne 0x4b4851
mov eax, dword [esp + 0x2b0]
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x290], ecx
mov edx, dword [eax + 0x28]
mov dword [esp + 0xf8], edx
xor ebx, ebx
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x27c]
mov edi, dword [esp + 0x94]
jmp 0x4b68cf
cmp eax, 0x16
jne 0x4b494c
mov eax, dword [esp + 0x2b0]
movzx ecx, byte [eax + 0xc]
test cl, 1
jne 0x4b486e
xor ecx, ecx
jmp 0x4b48cd
movzx ecx, byte [eax + 0xf]
and ecx, 0x1f
cmp ecx, 0x14
ja 0x4b48a2
cmp ecx, 0x12
ja 0x4b4893
cmp ecx, 0x11
jne 0x4b4889
lea ecx, [eax + 0x2c]
jmp 0x4b48cd
cmp ecx, 0x12
jne 0x4b48ca
lea ecx, [eax + 0x28]
jmp 0x4b48cd
cmp ecx, 0x13
jne 0x4b489d
lea ecx, [eax + 0x24]
jmp 0x4b48cd
lea ecx, [eax + 0x30]
jmp 0x4b48cd
cmp ecx, 0x16
ja 0x4b48b6
cmp ecx, 0x15
jne 0x4b48b1
lea ecx, [eax + 0x38]
jmp 0x4b48cd
lea ecx, [eax + 0x24]
jmp 0x4b48cd
cmp ecx, 0x17
jne 0x4b48c0
lea ecx, [eax + 0x24]
jmp 0x4b48cd
cmp ecx, 0x19
jne 0x4b48ca
lea ecx, [eax + 0x30]
jmp 0x4b48cd
lea ecx, [eax + 0x20]
test ecx, ecx
je 0x4b4932
mov ebp, dword [esp + 0xac]
test ebp, ebp
jle 0x4b48e9
movzx esi, word [ecx + 4]
test si, si
ja 0x4b686a
mov esi, dword [esp + 0x47c]
cmp esi, 1
jg 0x4b6852
movzx edi, word [ecx + 4]
test di, di
jne 0x4b490a
mov edx, ebp
xor edi, edi
xor ecx, ecx
jmp 0x4b4920
mov edx, ebp
mov ebp, dword [ecx + 8]
movzx edi, di
add ecx, ebp
cmp edi, 0x10000
ja 0x4b6846
mov dword [esp + 0x58], edi
xor ebx, ebx
mov ebp, dword [esp + 0x98]
jmp 0x4b6696
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x27c]
jmp 0x4b638d
mov eax, dword [esp + 0x2b0]
movzx ecx, byte [eax + 0xc]
test cl, 1
jne 0x4b4960
xor ecx, ecx
jmp 0x4b49bf
movzx ecx, byte [eax + 0xf]
and ecx, 0x1f
cmp ecx, 0x14
ja 0x4b4994
cmp ecx, 0x12
ja 0x4b4985
cmp ecx, 0x11
jne 0x4b497b
lea ecx, [eax + 0x2c]
jmp 0x4b49bf
cmp ecx, 0x12
jne 0x4b49bc
lea ecx, [eax + 0x28]
jmp 0x4b49bf
cmp ecx, 0x13
jne 0x4b498f
lea ecx, [eax + 0x24]
jmp 0x4b49bf
lea ecx, [eax + 0x30]
jmp 0x4b49bf
cmp ecx, 0x16
ja 0x4b49a8
cmp ecx, 0x15
jne 0x4b49a3
lea ecx, [eax + 0x38]
jmp 0x4b49bf
lea ecx, [eax + 0x24]
jmp 0x4b49bf
cmp ecx, 0x17
jne 0x4b49b2
lea ecx, [eax + 0x24]
jmp 0x4b49bf
cmp ecx, 0x19
jne 0x4b49bc
lea ecx, [eax + 0x30]
jmp 0x4b49bf
lea ecx, [eax + 0x20]
test ecx, ecx
je 0x4b4a2f
mov ebp, dword [esp + 0xac]
test ebp, ebp
jle 0x4b49db
movzx esi, word [ecx + 4]
test si, si
ja 0x4b6375
mov esi, dword [esp + 0x47c]
cmp esi, 1
jle 0x4b49f6
movzx edi, byte [eax + 0xf]
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x4b635d
movzx edi, word [ecx + 4]
test di, di
jne 0x4b4a07
mov edx, ebp
xor edi, edi
xor ecx, ecx
jmp 0x4b4a1d
mov edx, ebp
mov ebp, dword [ecx + 8]
movzx edi, di
add ecx, ebp
cmp edi, 0x10000
ja 0x4b6351
mov dword [esp + 0x50], edi
xor ebx, ebx
mov ebp, dword [esp + 0x98]
jmp 0x4b61a1
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x27c]
jmp 0x4b6131
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x27c]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x27c], edx
lea ebx, [0x5f4020]
mov dword [esp], ebx
lea ebp, [esp + 0x308]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x278]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0xc], edi
call fcn.004108f0
movzx eax, byte [esp + 0x14]
test al, al
je 0x4b4acc
mov eax, dword [esp + 0x8c]
cmp eax, 1
jne 0x4b6128
mov ecx, dword [esp + 0x278]
cmp byte [ecx], 0x5f
je 0x4b4ada
jmp 0x4b60d8
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x278]
lea edx, [0x5f4020]
mov dword [esp], edx
lea ebx, [esp + 0x308]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00410c50
mov eax, dword [esp + 0x10]
test byte [eax], al
mov dword [esp + 0x10c], 0
mov eax, dword [esp + 0x2b0]
mov ecx, dword [eax + 8]
shr ecx, 0x18
mov byte [esp + 0x10c], cl
mov ecx, dword [eax + 8]
shr ecx, 0x10
mov byte [esp + 0x10d], cl
mov ecx, dword [eax + 8]
shr ecx, 8
mov byte [esp + 0x10e], cl
mov ecx, dword [eax + 8]
mov byte [esp + 0x10f], cl
mov ecx, dword [esp + 0xb0]
xor edx, edx
jmp 0x4b607f
mov dword [esp + 0xb0], ecx
mov dword [esp], eax
call fcn.004ae0f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x1b0]
mov dword [esp], edx
lea edx, [0x66cfcc]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044ec90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x7c]
cmp ebp, edx
jb 0x4b4bb2
mov esi, dword [esp + 0x270]
jmp 0x4b4c03
mov dword [esp + 0x294], ebx
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x270]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5f1b20]
mov dword [esp + 0x10], ecx
call fcn.0044b300
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x294]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x270], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00464cc0
mov eax, dword [esp + 0x2ec]
movzx ecx, byte [eax]
test cl, 2
jne 0x4b4c4e
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xb0]
jmp 0x4b4df7
mov dword [esp], eax
call fcn.004ad9a0
lea eax, [esp + 0x190]
mov dword [esp], eax
call fcn.0044f100
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb0]
xor ebx, ebx
jmp 0x4b6096
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
call fcn.004ad9a0
mov eax, dword [esp + 4]
mov dword [esp + 0x26c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x74], ecx
lea edx, [0x5f1b20]
mov dword [esp], edx
mov dword [esp + 4], 0
lea ebx, [ecx + ecx*2]
mov ebp, ebx
shr ebx, 0x1f
add ebx, ebp
sar ebx, 1
mov dword [esp + 0xf8], ebx
mov dword [esp + 8], ebx
call fcn.0044b240
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x26c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x22
mov byte [esp + 0x16], 0
call fcn.004a3700
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x170]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044ef40
lea eax, [esp + 0x150]
mov dword [esp], eax
lea eax, [0x66cfcc]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.0044ec90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x7c]
cmp ebp, edx
jb 0x4b4d6f
mov esi, dword [esp + 0x270]
jmp 0x4b4dc0
mov dword [esp + 0x294], ebx
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x270]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5f1b20]
mov dword [esp + 0x10], ecx
call fcn.0044b300
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x294]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x270], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00464cc0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x47c]
mov esi, ebx
lea ebx, [ebp - 1]
mov edi, ebp
mov ebp, dword [esp + 0xac]
cmp ebp, ebx
jge 0x4b4e64
inc edx
cmp eax, edx
jae 0x4b4e5f
mov dword [esp + 0xec], esi
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x47c]
mov byte [edx + ecx - 1], 0x3b
mov dword [esp + 0x78], edx
movzx ebx, byte [esp + 0x4c]
test bl, bl
je 0x4b4e82
mov ebx, dword [esp + 0x2b0]
mov edx, dword [ebx + 0x10]
test edx, edx
setne dl
jmp 0x4b4e8b
mov ebx, dword [esp + 0x2b0]
xor edx, edx
mov byte [esp + 0x4c], dl
movzx edx, byte [ebx + 0xd]
mov byte [esp + 0x4d], dl
movzx ebp, dl
mov ebx, dword [esp + 0x70]
lea edx, [ebx + ebp - 1]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
and edx, ebp
cmp ebx, edx
ja 0x4b60c0
movzx ebx, byte [esp + 0x4a]
movzx ebp, byte [esp + 0x4d]
xchg ebp, eax
cmp bl, al
xchg ebp, eax
jb 0x4b4ec4
mov ebp, ebx
xchg ebp, eax
mov byte [esp + 0x4a], al
xchg ebp, eax
mov ebx, dword [esp + 0x2b0]
mov ebp, dword [ebx]
add ebp, edx
cmp edx, ebp
ja 0x4b60a8
mov dword [esp + 0x70], ebp
mov dword [esp + 0x2f4], edx
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4b4ef9
mov ebx, dword [esp + 0xac]
cmp edi, ebx
jmp 0x4b4f09
mov ebx, dword [esp + 0xac]
cmp edi, ebx
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x9c], ebp
mov ebp, dword [esp + 0x2ec]
mov dword [esp + 0x28c], ebp
mov ebp, dword [esp + 0x2f0]
jbe 0x4b609f
mov dword [esp + 0x270], ecx
mov dword [esp + 0x2b0], ebp
lea ecx, [ebx + ebx*2]
mov ebx, dword [esp + 0x2b8]
mov dword [ebx + ecx*4 + 8], edx
mov edx, dword [0x7f8db0]
lea ebp, [ebx + ecx*4]
mov dword [esp + 0x288], ebp
lea ebp, [ebx + ecx*4 + 4]
test edx, edx
jne 0x4b4f79
mov edx, dword [esp + 0x28c]
mov dword [ebx + ecx*4], edx
mov edx, dword [esp + 0x2b0]
mov dword [ebx + ecx*4 + 4], edx
jmp 0x4b44f8
mov ecx, edi
mov edi, dword [esp + 0x288]
mov edx, eax
mov eax, dword [esp + 0x28c]
call fcn.00464380
mov edi, ebp
mov eax, dword [esp + 0x2b0]
call fcn.00464380
mov eax, edx
mov edi, ecx
jmp 0x4b44f8
mov ebx, dword [esp + 0x70]
test ebx, ebx
jbe 0x4b4fc8
mov eax, ebp
mov ebp, dword [esp + 0x9c]
cmp ebp, ebx
jne 0x4b4fca
cmp ebx, 0xffffffff
je 0x4b6040
inc ebx
jmp 0x4b4fca
mov eax, ebp
mov dword [esp + 0x70], ebx
test esi, esi
jne 0x4b4fec
lea eax, [0x5fda20]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
lea ecx, [eax + 0x30]
jmp 0x4b542f
lea edi, [esp + 0x324]
xor eax, eax
call fcn.004645c4
lea ecx, [0x6036e0]
mov dword [esp], ecx
lea edx, [esp + 0x324]
mov dword [esp + 4], edx
call fcn.00409940
mov ecx, dword [esp + 8]
lea edx, [0x6036e0]
mov dword [esp + 0x2dc], edx
mov dword [esp + 0x2e0], ecx
mov ecx, dword [esp + 0x2dc]
test ecx, ecx
je 0x4b503e
lea eax, [0x66f350]
jmp 0x4b5042
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x254], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
lea edx, [0x6081e0]
mov dword [esp], edx
lea ebx, [esp + 0x120]
mov dword [esp + 4], ebx
call fcn.004099a0
mov eax, dword [esp + 8]
lea ecx, [0x6081e0]
mov dword [esp + 0x2d4], ecx
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x2d4]
test eax, eax
je 0x4b50bd
lea ecx, [0x66f350]
jmp 0x4b50c1
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x5c], ecx
lea edx, [0x606160]
mov dword [esp], edx
mov ebx, dword [esp + 0x27c]
mov dword [esp + 4], ebx
call fcn.004099a0
mov eax, dword [esp + 8]
lea ecx, [0x606160]
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x2cc]
test eax, eax
je 0x4b5110
lea ecx, [0x66f350]
jmp 0x4b5114
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x94]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004b7960
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2ac], ecx
lea edi, [esp + 0x3d4]
mov edx, eax
xor eax, eax
call fcn.004645a9
lea eax, [0x61a73c]
mov dword [esp + 0x3d4], eax
mov dword [esp + 0x3d8], 1
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 0x3e8], eax
lea eax, [0x66d0ac]
mov dword [esp + 0x408], eax
mov dword [esp + 0x40c], 1
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x418], eax
mov eax, dword [esp + 0x250]
mov dword [esp + 0x41c], eax
lea eax, [0x61a73b]
mov dword [esp + 0x43c], eax
mov dword [esp + 0x440], 1
mov dword [esp + 0x44c], edx
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x450], eax
lea eax, [esp + 0x3d4]
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 8], 3
call fcn.004b4380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c31e0
mov eax, dword [esp + 8]
mov dword [esp + 0x2b0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2b4], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xfc], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004bd5d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.004bd780
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b9800
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c2910
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2a8], eax
mov ecx, dword [esp + 0x2b0]
mov dword [esp], ecx
mov edx, dword [esp + 0x2b4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 8], ebx
call fcn.004bd5d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004bd780
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b9800
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c2910
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2a4], eax
mov ecx, dword [esp + 0x2b0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2b4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 8], ecx
call fcn.004bd5d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
call fcn.004bd780
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
call fcn.004c1e30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [0x5e6580]
cmp ecx, edx
jne 0x4b602a
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x94]
cmp edx, eax
jge 0x4b53f3
mov eax, edx
jmp 0x4b53fc
mov edx, eax
mov eax, dword [esp + 0x94]
mov ebx, dword [esp + 0x27c]
cmp ebx, ecx
je 0x4b5421
mov dword [esp], ecx
mov dword [esp + 4], ebx
shl edx, 4
mov dword [esp + 8], edx
call fcn.00464cc0
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0x258], eax
mov edx, dword [esp + 0x94]
mov word [ecx + 4], dx
mov word [ecx + 6], dx
mov dword [ecx + 8], 0x10
mov ecx, dword [esp + 0x47c]
test ecx, ecx
je 0x4b54c2
mov ebx, dword [esp + 0x78]
inc ebx
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
jb 0x4b546d
mov esi, dword [esp + 0x270]
jmp 0x4b54bb
mov eax, dword [esp + 0x270]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x94]
mov esi, eax
mov ebp, ecx
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x47c]
mov byte [ebx + esi - 1], 0x20
jmp 0x4b54d1
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x270]
mov ebx, dword [esp + 0x78]
inc ebx
cmp ebp, ebx
jae 0x4b5515
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x47c]
mov edx, dword [esp + 0x94]
mov byte [ebx + esi - 1], 0x7d
mov byte [esp + 0x4f], 0
mov byte [esp + 0x4f], 0x7d
mov ebp, dword [esp + 0xb0]
xor edi, edi
jmp 0x4b5544
movzx edx, byte [esp + edi + 0x4f]
inc edi
imul ebp, ebp, 0x1000193
xor ebp, edx
mov edx, dword [esp + 0x94]
cmp edi, 1
jl 0x4b552f
mov dword [esp + 0xb0], ebp
lea eax, [esp + 0x130]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.0044ef40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x4a]
movzx ebx, dl
mov ebp, dword [esp + 0x70]
lea esi, [ebp + ebx - 1]
neg ebx
and esi, ebx
cmp ebp, esi
ja 0x4b6012
mov dword [esp + 0x268], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], esi
lea ebx, [0x5f19a0]
mov dword [esp + 0x2c4], ebx
lea ebx, [0x7f8bcc]
mov dword [esp + 0x2c8], ebx
mov edi, dword [esp + 0x258]
test byte [edi], al
mov ebx, dword [esp + 0x2c4]
test byte [ebx], al
mov ebp, dword [0x7f8db0]
test ebp, ebp
jne 0x4b55db
mov ebp, esi
mov esi, ebx
call fcn.00464a68
jmp 0x4b5601
lea eax, [0x6036e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
call fcn.004116d0
mov eax, dword [esp + 0x268]
movzx edx, byte [esp + 0x4a]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x47c]
mov ebx, dword [esp + 0x258]
mov dword [ebx + 0x28], ecx
mov dword [ebx + 0x2c], ecx
mov esi, dword [0x7f8db0]
test esi, esi
jne 0x4b562b
mov esi, dword [esp + 0x2b8]
mov dword [ebx + 0x24], esi
jmp 0x4b5645
lea edi, [ebx + 0x24]
mov esi, eax
mov eax, dword [esp + 0x2b8]
call fcn.00464380
mov eax, esi
mov esi, dword [esp + 0x2b8]
mov edi, dword [esp + 0x84]
test edi, edi
je 0x4b56a7
mov eax, dword [esp + 0x274]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov word [esp + 0x10], 0
call fcn.004adc40
mov eax, dword [0x7f8db0]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4b5694
mov eax, dword [esp + 0x258]
mov dword [eax + 0x20], ecx
jmp 0x4b56a7
mov edx, dword [esp + 0x258]
lea edi, [edx + 0x20]
mov eax, ecx
call fcn.00464380
mov eax, edx
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x108], eax
lea ecx, [0x7d3ea8]
mov dword [esp], ecx
lea edx, [0x5f1aa0]
mov dword [esp + 4], edx
lea ebx, [esp + 0x108]
mov dword [esp + 8], ebx
call fcn.0046c4f0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test al, al
je 0x4b5711
lea eax, [0x5e64c0]
cmp ecx, eax
jne 0x4b5ffc
mov ecx, dword [edx]
mov dword [esp + 0x2a0], ecx
mov edx, dword [edx + 4]
mov dword [esp + 0x100], edx
xor ebx, ebx
jmp 0x4b5f90
lea eax, [0x7d3ea0]
mov dword [esp], eax
call fcn.0046dc30
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 0
lea eax, [0x4b7140]
mov dword [esp + 0x2e4], eax
lea eax, [0x7d3ea0]
mov dword [esp + 0x2e8], eax
lea eax, [esp + 0x2e4]
mov dword [esp + 0x470], eax
mov byte [esp + 0x4e], 1
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x104], eax
lea ecx, [0x7d3ea8]
mov dword [esp], ecx
lea ecx, [0x5f1aa0]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x104]
mov dword [esp + 8], ecx
call fcn.0046c4f0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test al, al
je 0x4b57cc
lea eax, [0x5e64c0]
cmp ecx, eax
jne 0x4b5f5c
mov eax, dword [edx]
mov dword [esp + 0x2a0], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x100], ecx
xor edx, edx
jmp 0x4b5ee0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
lea eax, [0x4b6fc0]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x268]
mov dword [esp], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
call fcn.004b2230
mov eax, dword [esp + 8]
mov dword [esp + 0x29c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x100], ecx
xor edx, edx
jmp 0x4b5846
mov ebx, dword [esp + 0xf8]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x100]
cmp edx, ecx
jge 0x4b58d1
mov dword [esp + 0xf8], edx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x25c], ecx
mov ebx, dword [esp + 0x258]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.004b1b80
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b582e
mov eax, dword [esp + 0x110]
lea ecx, [0x66f350]
mov dword [esp], ecx
mov ecx, dword [esp + 0x25c]
mov dword [esp + 4], ecx
lea edx, [esp + 0x110]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], ecx
mov byte [esp + 0x4e], 0
mov edx, dword [esp + 0x470]
mov eax, dword [edx]
call eax
add esp, 0x474
ret
mov eax, dword [esp + 0x268]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov word [esp + 0x10], 0
call fcn.004adc40
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.004613d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x258]
mov dword [ecx + 0x18], eax
mov byte [ecx + 0xc], 0
mov eax, dword [esp + 0xb0]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x70]
mov dword [ecx], eax
mov dword [esp], ecx
call fcn.004b7850
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x258]
mov dword [ecx + 4], eax
movzx eax, byte [esp + 0x4a]
mov byte [ecx + 0xd], al
mov byte [ecx + 0xe], al
mov dword [ecx + 0x1c], 0
mov eax, dword [esp + 0x94]
test eax, eax
je 0x4b596a
movzx eax, byte [ecx + 0xc]
or eax, 1
mov byte [ecx + 0xc], al
movzx eax, byte [esp + 0x4b]
test al, al
je 0x4b598c
mov eax, dword [esp + 0x2b8]
mov edx, eax
mov ebx, dword [esp + 0x47c]
xor ebp, ebp
xor esi, esi
jmp 0x4b5b2d
movzx eax, byte [ecx + 0xf]
and eax, 0xffffffbf
mov byte [ecx + 0xf], al
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
mov dword [esp + 0x304], 0
lea eax, [esp + 0x2f8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.004b8c80
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x300]
test ecx, ecx
je 0x4b5a16
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x4b5a05
mov ecx, dword [esp + 0x258]
mov dword [ecx + 0x14], eax
jmp 0x4b5a1d
mov ecx, dword [esp + 0x258]
lea edi, [ecx + 0x14]
call fcn.00464380
jmp 0x4b5a1d
mov ecx, dword [esp + 0x258]
lea edi, [ecx + 0x10]
mov ebx, dword [0x7f8db0]
test ebx, ebx
jne 0x4b5a33
mov dword [ecx + 0x10], 0
jmp 0x4b5a3a
xor eax, eax
call fcn.00464380
movzx eax, byte [esp + 0x4c]
test al, al
je 0x4b5aa0
mov dword [esp + 0x298], edi
lea eax, [0x5f9080]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
lea ecx, [0x4b6f30]
mov dword [eax], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x4b5a7d
mov ecx, dword [esp + 0x258]
mov dword [eax + 4], ecx
mov dword [ecx + 0x10], eax
jmp 0x4b5aa0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x258]
call fcn.00464380
mov edi, dword [esp + 0x298]
mov edx, eax
mov eax, ecx
call fcn.00464380
mov ecx, edx
mov eax, dword [esp + 0x47c]
cmp eax, 1
jne 0x4b5acb
mov eax, dword [esp + 0x2b8]
mov eax, dword [eax + 4]
movzx eax, byte [eax + 0xf]
test al, 0x20
je 0x4b5acb
movzx eax, byte [ecx + 0xf]
or eax, 0x20
mov byte [ecx + 0xf], al
jmp 0x4b5ad5
movzx eax, byte [ecx + 0xf]
and eax, 0xffffffdf
mov byte [ecx + 0xf], al
mov eax, dword [esp + 0x110]
lea ebx, [0x66f350]
mov dword [esp], ebx
mov dword [esp + 4], ecx
lea edx, [esp + 0x110]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], ecx
mov byte [esp + 0x4e], 0
mov edx, dword [esp + 0x470]
mov eax, dword [edx]
call eax
add esp, 0x474
ret
add edi, 0xc
mov esi, edi
lea edi, [eax + 1]
mov eax, esi
mov esi, ebp
mov ebp, edi
cmp ebx, ebp
jle 0x4b5b47
mov edi, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
test eax, eax
je 0x4b5b41
mov eax, ebp
jmp 0x4b5b1f
mov eax, ebp
mov ebp, esi
jmp 0x4b5b1f
mov dword [esp + 0xa0], esi
lea eax, [0x5eb280]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2b8]
mov edx, ecx
mov ebx, dword [esp + 0x47c]
mov ebp, dword [esp + 0xa0]
mov esi, 4
mov edi, 4
xor esi, esi
mov dword [esp + 0x88], esi
xor esi, esi
mov dword [esp + 0xa8], esi
mov esi, 4
jmp 0x4b5bbc
add ecx, 0xc
inc esi
mov dword [esp + 0x88], ebp
mov dword [esp + 0xa8], esi
mov ebp, dword [esp + 0xa0]
mov esi, ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0xa8]
cmp ebx, esi
jle 0x4b5d13
mov ebx, dword [ecx + 4]
mov dword [esp + 0x2b0], ebx
mov ebx, dword [ecx + 8]
cmp esi, ebp
jg 0x4b5d0c
mov ebp, dword [esp + 0x2b0]
mov ebp, dword [ebp + 4]
test ebp, ebp
je 0x4b5cf9
mov dword [esp + 0x2b4], ecx
mov ebp, dword [esp + 0x88]
cmp ebp, ebx
jae 0x4b5ced
mov dword [esp + 0xf4], ebx
sub ebx, ebp
lea ebp, [edi + 2]
mov edi, dword [esp + 0x80]
cmp edi, ebp
jae 0x4b5c79
mov dword [esp + 0xf0], ebx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 2
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b8]
mov ebx, dword [esp + 0xf0]
mov edi, esi
mov esi, dword [esp + 0xa8]
mov word [ebp + eax - 2], 1
shr ebx, 2
cmp ebx, 1
jbe 0x4b5dfb
inc ebp
cmp edi, ebp
jae 0x4b5ce2
mov dword [esp + 0x90], ebx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b8]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0xa8]
mov byte [ebp + eax - 1], 0x81
dec ebx
jmp 0x4b5e19
mov ebx, dword [esp + 0x80]
jmp 0x4b5da2
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x88]
jmp 0x4b5b9a
mov ebx, dword [esp + 0x47c]
lea ebp, [edi + 1]
mov esi, dword [esp + 0x80]
cmp esi, ebp
jae 0x4b5d59
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x2b8]
mov ebx, dword [esp + 0x47c]
mov byte [ebp + eax - 1], 0
test ebp, ebp
jbe 0x4b5d99
lea ecx, [ebp - 4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x258]
movzx ebp, byte [ecx + 0xf]
or ebp, 0x40
xchg ebp, eax
mov byte [ecx + 0xf], al
xchg ebp, eax
mov ebp, dword [0x7f8db0]
test ebp, ebp
jne 0x4b5d8c
mov dword [ecx + 0x14], eax
jmp 0x4b5a1d
lea edi, [ecx + 0x14]
call fcn.00464380
jmp 0x4b5a1d
xor eax, eax
mov ecx, eax
call fcn.00464400
mov dword [esp + 0x88], ebp
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0xc], eax
call fcn.004b3b10
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x2b0]
add ebp, dword [eax + 4]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b8]
mov esi, dword [esp + 0xa8]
jmp 0x4b5b9a
mov ebx, edi
mov edi, ebp
mov ebp, dword [esp + 0xf4]
jmp 0x4b5da2
or ebx, 0x80
mov byte [ebp + eax - 1], bl
mov ebx, dword [esp + 0x68]
shr ebx, 7
mov dword [esp + 0x68], ebx
cmp ebx, 0x80
jb 0x4b5e73
inc ebp
cmp edi, ebp
jae 0x4b5e08
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b8]
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0xa8]
jmp 0x4b5e08
inc ebp
cmp edi, ebp
jae 0x4b5ebf
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b8]
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0xa8]
mov byte [ebp + eax - 1], bl
jmp 0x4b5dfb
mov ebx, dword [esp + 0xf8]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x100]
cmp edx, ecx
jge 0x4b57cc
mov dword [esp + 0xf8], edx
lea ecx, [eax + edx*8]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [ebx + 0x84]
mov dword [esp], ecx
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x260], eax
mov ecx, dword [esp + 0x258]
mov dword [esp], ecx
mov byte [esp + 8], 1
call fcn.004b1b80
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b5ec8
lea eax, [0x66f350]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x488], eax
mov byte [esp + 0x4e], 0
mov edx, dword [esp + 0x470]
mov eax, dword [edx]
call eax
add esp, 0x474
ret
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5f12a0]
mov dword [esp + 8], eax
call fcn.004097e0
mov ebp, dword [esp + 0xf8]
lea ebx, [ebp + 1]
lea eax, [0x5e64c0]
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x100]
cmp ebx, edx
jge 0x4b5711
mov dword [esp + 0xf8], ebx
lea eax, [ecx + ebx*8]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x84]
mov dword [esp], eax
call edx
mov eax, dword [esp + 4]
mov dword [esp + 0x264], eax
mov ecx, dword [esp + 0x258]
mov dword [esp], ecx
mov byte [esp + 8], 1
call fcn.004b1b80
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b5f72
lea eax, [0x66f350]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x488], eax
add esp, 0x474
ret
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5f12a0]
mov dword [esp + 8], eax
call fcn.004097e0
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e224]
mov dword [esp + 4], eax
call fcn.00436760
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x5f12a0]
mov dword [esp + 8], eax
call fcn.004097e0
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e224]
mov dword [esp + 4], eax
call fcn.00436760
movzx ebp, byte [ebx + eax]
inc ebx
imul edx, edx, 0x1000193
xor edx, ebp
cmp ebx, ecx
jl 0x4b6058
jmp 0x4b46d8
movzx ebx, byte [esp + edx + 0x10c]
inc edx
imul ecx, ecx, 0x1000193
xor ecx, ebx
cmp edx, 4
jl 0x4b606e
jmp 0x4b4b52
movzx ebp, byte [ebx + eax]
inc ebx
imul edx, edx, 0x1000193
xor edx, ebp
cmp ebx, ecx
jl 0x4b6089
jmp 0x4b4c7b
mov eax, ebx
mov ecx, edi
call fcn.00464400
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e224]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e224]
mov dword [esp + 4], eax
call fcn.00436760
mov dword [esp], 0
lea edx, [0x626454]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x22
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0044ec90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
mov ecx, dword [esp + 0x278]
jmp 0x4b60d8
mov eax, edx
mov edx, ebx
jmp 0x4b4a5e
lea ebp, [eax - 1]
shl ebp, 4
mov esi, dword [esp + 0xd8]
mov dword [ebx + ebp], esi
mov esi, dword [esp + 0xd4]
mov dword [ebx + ebp + 4], esi
mov esi, dword [esp + 0xd0]
mov dword [ebx + ebp + 8], esi
mov dword [ebx + ebp + 0xc], ecx
mov ecx, dword [esp + 0x2a8]
add ecx, 0x10
mov ebp, dword [esp + 0xf8]
inc ebp
mov esi, dword [esp + 0x47c]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x2b0]
mov ebx, ebp
mov ebp, edx
mov edx, dword [esp + 0xac]
cmp ebx, edi
jge 0x4b6324
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x2a8], ecx
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [esp + 0xe4], ebx
mov ebp, dword [ecx + 8]
mov dword [esp + 0xe0], ebp
mov esi, dword [ecx + 0xc]
mov dword [esp + 0xdc], esi
nop
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00461290
mov eax, dword [esp + 8]
mov dword [esp + 0x2a4], eax
mov dword [esp], eax
call fcn.004adad0
mov eax, dword [esp + 8]
test eax, eax
jne 0x4b6339
nop
mov eax, dword [esp + 0x2a4]
mov dword [esp], eax
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x2b0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
call fcn.004612d0
nop
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x2b0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe0]
mov dword [esp + 4], edx
call fcn.00461310
nop
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x2b0]
mov dword [esp], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
call fcn.00461310
nop
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
mov eax, dword [esp + 0x94]
inc eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xe8]
cmp edx, eax
jb 0x4b62d6
mov ebx, dword [esp + 0x27c]
jmp 0x4b613a
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x27c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x606160]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ebx, eax
mov eax, ecx
mov edx, ebp
mov ecx, dword [esp + 0xcc]
jmp 0x4b613a
mov ecx, dword [esp + 0x94]
mov edx, ebp
mov ebx, dword [esp + 0x27c]
jmp 0x4b6131
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e1fc]
mov dword [esp + 4], eax
call fcn.00436760
mov edx, edi
mov ebx, 0x10000
call fcn.00464480
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e214]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e204]
mov dword [esp + 4], eax
call fcn.00436760
mov ebp, dword [eax + 0x20]
movzx esi, byte [ebp + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
jne 0x4b639f
xor ebp, ebp
jmp 0x4b63fe
movzx esi, byte [ebp + 0xf]
and esi, 0x1f
cmp esi, 0x14
ja 0x4b63d3
cmp esi, 0x12
ja 0x4b63c4
cmp esi, 0x11
jne 0x4b63ba
add ebp, 0x2c
jmp 0x4b63fe
cmp esi, 0x12
jne 0x4b63fb
add ebp, 0x28
jmp 0x4b63fe
cmp esi, 0x13
jne 0x4b63ce
add ebp, 0x24
jmp 0x4b63fe
add ebp, 0x30
jmp 0x4b63fe
cmp esi, 0x16
ja 0x4b63e7
cmp esi, 0x15
jne 0x4b63e2
add ebp, 0x38
jmp 0x4b63fe
add ebp, 0x24
jmp 0x4b63fe
cmp esi, 0x17
jne 0x4b63f1
add ebp, 0x24
jmp 0x4b63fe
cmp esi, 0x19
jne 0x4b63fb
add ebp, 0x30
jmp 0x4b63fe
add ebp, 0x20
test ebp, ebp
je 0x4b6131
movzx esi, word [ebp + 4]
test si, si
jne 0x4b6415
xor esi, esi
xor ebp, ebp
jmp 0x4b6429
mov edi, dword [ebp + 8]
movzx esi, si
add ebp, edi
cmp esi, 0x10000
ja 0x4b6623
mov dword [esp + 0x54], esi
xor edi, edi
jmp 0x4b647c
lea ebp, [eax - 1]
shl ebp, 4
mov esi, dword [esp + 0xd8]
mov dword [ebx + ebp], esi
mov esi, dword [esp + 0xd4]
mov dword [ebx + ebp + 4], esi
mov esi, dword [esp + 0xd0]
mov dword [ebx + ebp + 8], esi
mov dword [ebx + ebp + 0xc], ecx
mov ecx, dword [esp + 0x2a8]
lea ebp, [ecx + 0x10]
mov ecx, dword [esp + 0xf8]
lea edi, [ecx + 1]
mov esi, dword [esp + 0x54]
mov ecx, eax
mov eax, dword [esp + 0x2b0]
cmp edi, esi
jge 0x4b6131
mov dword [esp + 0xc8], edx
mov dword [esp + 0x284], ebx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xf8], edi
mov dword [esp + 0x2a8], ebp
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp + 0xe4], edx
mov ebx, dword [ebp + 8]
mov dword [esp + 0xe0], ebx
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xdc], esi
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00461290
mov eax, dword [esp + 8]
mov dword [esp + 0x2a4], eax
mov dword [esp], eax
call fcn.004adad0
mov eax, dword [esp + 8]
test eax, eax
jne 0x4b660b
nop
mov eax, dword [esp + 0x2a4]
mov dword [esp], eax
call fcn.004613d0
mov eax, dword [esp + 0x2b0]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 4]
mov dword [esp + 0xd8], edx
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
call fcn.004612d0
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
mov eax, dword [esp + 0x2b0]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 4]
mov dword [esp + 0xd4], edx
mov dword [esp], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
call fcn.00461310
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
mov eax, dword [esp + 0x2b0]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 4]
mov dword [esp + 0xd0], edx
mov dword [esp], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
call fcn.00461310
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
mov eax, dword [esp + 0xc4]
inc eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
jb 0x4b65c3
mov ebx, dword [esp + 0x284]
jmp 0x4b6431
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x284]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x606160]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xcc]
jmp 0x4b6431
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e1fc]
mov dword [esp + 4], eax
call fcn.00436760
mov edx, esi
mov ebx, 0x10000
call fcn.00464480
lea ebp, [eax - 1]
shl ebp, 4
mov esi, dword [esp + 0xd8]
mov dword [ebx + ebp], esi
mov esi, dword [esp + 0xd4]
mov dword [ebx + ebp + 4], esi
mov esi, dword [esp + 0xd0]
mov dword [ebx + ebp + 8], esi
mov dword [ebx + ebp + 0xc], ecx
mov ecx, dword [esp + 0x2a8]
add ecx, 0x10
mov ebp, dword [esp + 0xf8]
inc ebp
mov esi, dword [esp + 0x47c]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x2b0]
mov ebx, ebp
mov ebp, edx
mov edx, dword [esp + 0xac]
cmp ebx, edi
jge 0x4b6819
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x2a8], ecx
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [esp + 0xe4], ebx
mov ebp, dword [ecx + 8]
mov dword [esp + 0xe0], ebp
mov esi, dword [ecx + 0xc]
mov dword [esp + 0xdc], esi
nop
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00461290
mov eax, dword [esp + 8]
mov dword [esp + 0x2a4], eax
mov dword [esp], eax
call fcn.004adad0
mov eax, dword [esp + 8]
test eax, eax
jne 0x4b682e
nop
mov eax, dword [esp + 0x2a4]
mov dword [esp], eax
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x2b0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
call fcn.004612d0
nop
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x2b0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe0]
mov dword [esp + 4], edx
call fcn.00461310
nop
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x2b0]
mov dword [esp], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
call fcn.00461310
nop
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
mov eax, dword [esp + 0x94]
inc eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc0]
cmp edx, eax
jb 0x4b67cb
mov ebx, dword [esp + 0x27c]
jmp 0x4b662f
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x27c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x606160]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ebx, eax
mov eax, ecx
mov edx, ebp
mov ecx, dword [esp + 0xcc]
jmp 0x4b662f
mov ecx, dword [esp + 0x94]
mov edx, ebp
mov ebx, dword [esp + 0x27c]
jmp 0x4b638d
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e1fc]
mov dword [esp + 4], eax
call fcn.00436760
mov edx, edi
mov ebx, 0x10000
call fcn.00464480
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e20c]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e204]
mov dword [esp + 4], eax
call fcn.00436760
lea ebx, [eax - 1]
shl ebx, 4
mov ebp, dword [esp + 0xd8]
mov dword [esi + ebx], ebp
mov ebp, dword [esp + 0xd4]
mov dword [esi + ebx + 4], ebp
mov ebp, dword [esp + 0xd0]
mov dword [esi + ebx + 8], ebp
mov dword [esi + ebx + 0xc], ecx
mov ecx, dword [esp + 0xa4]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x290]
mov ebp, edx
mov edi, eax
mov eax, dword [esp + 0x2b0]
mov edx, dword [esp + 0xf8]
cmp ebx, edx
jge 0x4b6c9b
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb8], edi
mov dword [esp + 0x280], esi
mov dword [esp + 0xa4], ebx
lea edx, [ecx + ebx*8]
mov ebp, dword [edx]
mov dword [esp + 0xb4], ebp
mov edx, dword [edx + 4]
mov dword [esp + 0xe4], edx
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.00461290
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004adad0
mov eax, dword [esp + 8]
test eax, eax
jne 0x4b6ca6
nop
mov eax, dword [esp + 0x2b0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
call fcn.004612d0
mov eax, dword [esp + 8]
mov dword [esp + 0x2a8], eax
lea ecx, [0x61a0c0]
mov dword [esp], ecx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0x2c0], eax
lea ecx, [0x61a0c0]
mov dword [esp], ecx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0x2bc], eax
mov ecx, dword [esp + 0x2b0]
movzx edx, byte [ecx + 0xf]
test dl, 0x20
je 0x4b6aab
lea eax, [0x5fc7c0]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
lea ecx, [0x4b74f0]
mov dword [eax], ecx
mov edx, dword [esp + 0xac]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xa4]
mov dword [eax + 8], ebx
lea ebp, [0x66f350]
mov dword [esp], ebp
mov esi, dword [esp + 0x2a8]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004ad530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x2bc]
mov dword [edi + 8], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x4b6a0b
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4b6a1c
call fcn.00464380
lea edx, [edi + 4]
mov eax, ecx
mov edi, edx
call fcn.00464380
lea eax, [0x5fc7c0]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
lea ecx, [0x4b73e0]
mov dword [eax], ecx
mov edx, dword [esp + 0xac]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xa4]
mov dword [eax + 8], ebx
lea ebp, [0x66f350]
mov dword [esp], ebp
mov esi, dword [esp + 0x2a8]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004ad530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c0]
mov dword [edi + 8], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x4b6a91
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4b6bb5
call fcn.00464380
lea edx, [edi + 4]
mov eax, ecx
mov ecx, edi
mov edi, edx
call fcn.00464380
mov edi, ecx
jmp 0x4b6bb5
lea eax, [0x5fc7c0]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
lea ecx, [0x4b72d0]
mov dword [eax], ecx
mov edx, dword [esp + 0xac]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xa4]
mov dword [eax + 8], ebx
lea ebp, [0x66f350]
mov dword [esp], ebp
mov esi, dword [esp + 0x2a8]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004ad530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x2bc]
mov dword [edi + 8], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x4b6b1d
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4b6b2e
call fcn.00464380
lea edx, [edi + 4]
mov eax, ecx
mov edi, edx
call fcn.00464380
lea eax, [0x5fc7c0]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
lea ecx, [0x4b7180]
mov dword [eax], ecx
mov edx, dword [esp + 0xac]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xa4]
mov dword [eax + 8], ebx
lea ebp, [0x66f350]
mov dword [esp], ebp
mov esi, dword [esp + 0x2a8]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004ad530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c0]
mov dword [edi + 8], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x4b6ba0
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4b6bb5
call fcn.00464380
lea edx, [edi + 4]
mov eax, ecx
mov ecx, edi
mov edi, edx
call fcn.00464380
mov edi, ecx
nop
mov eax, dword [esp + 0x2b0]
mov dword [esp], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp + 4], ecx
call fcn.00461290
nop
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x2a8]
mov dword [esp], ecx
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x2c0]
mov dword [esp], ecx
call fcn.004613d0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x2bc]
mov dword [esp], ecx
call fcn.004613d0
mov eax, dword [esp + 0xb8]
inc eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xbc]
cmp edx, eax
jb 0x4b6c51
mov esi, dword [esp + 0x280]
jmp 0x4b6882
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x280]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x606160]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0xcc]
mov edx, ebp
jmp 0x4b6882
mov edx, ebp
mov ecx, edi
mov ebx, esi
jmp 0x4b6131
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e1fc]
mov dword [esp + 4], eax
call fcn.00436760
mov eax, dword [esp + 0x2b0]
mov dword [esp], eax
call fcn.004ae0f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6292fe]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2e
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044ec90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
mov dword [esp], 0
lea eax, [0x6292d0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x2e
mov eax, dword [esp + 0x274]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], eax
lea eax, [0x61ac9f]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 5
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x20], eax
call fcn.0044edd0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
mov eax, dword [esp + 0xac]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004a2b00
mov dword [esp], 0
lea eax, [0x6224ea]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
lea eax, [0x61cb32]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xc
call fcn.0044ed30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
mov eax, dword [esp + 0xac]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004a2b00
mov dword [esp], 0
lea eax, [0x6224ea]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
lea eax, [0x61e8bf]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x11
call fcn.0044ed30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
mov eax, ebx
sar ebx, 0x1f
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.004a2b00
mov dword [esp], 0
lea eax, [0x6224ea]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
lea eax, [0x61cb26]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xc
call fcn.0044ed30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
nop
call fcn.00435d10
add esp, 0x474
ret
call fcn.00462f70
jmp fcn.004b4380