Function at 0x4a1a10
Capabilities:
Hash data using fnv

Disassembly:
mov ecx, dword [0x78bd58]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x3b8]
cmp eax, dword [ecx + 8]
jbe 0x4a4345
sub esp, 0x438
mov eax, 0
mov dword [esp + 0x434], eax
mov byte [esp + 0x4f], 0
mov dword [esp + 0x448], 0
mov dword [esp + 0x44c], 0
xor eax, eax
xor ecx, ecx
jmp 0x4a1a71
lea edx, [0x5daf5d]
movzx ebx, byte [eax + edx]
imul ecx, ecx, 0x1000193
inc eax
xor ecx, ebx
cmp eax, 8
jl 0x4a1a5e
mov dword [esp + 0x13c], ecx
lea eax, [0x5c23a0]
mov dword [esp], eax
mov eax, dword [esp + 0x440]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00454420
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2e4], eax
lea edi, [esp + 0xf4]
xor eax, eax
call fcn.00470110
lea edi, [esp + 0x418]
call fcn.00470119
lea edi, [esp + 0x3cc]
call fcn.0047010d
lea ecx, [esp + 0x3cc]
mov dword [esp + 0x424], ecx
call fcn.0044f6a0
mov eax, dword [esp]
mov dword [esp + 0x420], eax
mov dword [esp + 0xf4], 0x75727473
mov dword [esp + 0xf8], 0x7b207463
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x440]
mov edx, dword [esp + 0x13c]
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x16c], ebx
xor ebx, ebx
mov dword [esp + 0x244], ebx
xor ebx, ebx
mov dword [esp + 0x170], ebx
mov ebx, 0x40
mov dword [esp + 0x154], ebx
lea ebx, [esp + 0xf4]
mov dword [esp + 0x238], ebx
mov ebx, 8
mov dword [esp + 0x150], ebx
mov ebx, 1
mov byte [esp + 0x4d], bl
xor ebx, ebx
mov dword [esp + 0x148], ebx
xor ebx, ebx
mov byte [esp + 0x4b], bl
xor ebx, ebx
mov dword [esp + 0x174], ebx
xor ebx, ebx
jmp 0x4a1c00
mov dword [edx + ebx*4], eax
mov dword [edx + ebx*4 + 4], ecx
mov eax, dword [esp + 0x2e0]
add eax, 0x34
lea ebx, [ebp + 1]
mov ecx, dword [esp + 0x440]
mov ebp, dword [esp + 0x174]
movzx esi, byte [esp + 0x4b]
movzx ebp, byte [esp + 0x4c]
mov esi, dword [esp + 0x15c]
mov edx, dword [esp + 0x184]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x238], eax
xchg edi, eax
mov byte [esp + 0x4d], al
xchg edi, eax
mov dword [esp + 0x188], ecx
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 0x148], ecx
mov edi, dword [esp + 0x240]
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x15c], esi
mov dword [esp + 0x240], edi
mov dword [esp + 0x184], edx
xchg ebp, eax
mov byte [esp + 0x4c], al
xchg ebp, eax
cmp ecx, ebx
jle 0x4a264b
lea edi, [esp + 0x268]
mov esi, eax
call fcn.004705ae
mov ecx, dword [esp + 0x26c]
test ecx, ecx
je 0x4a42c5
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x180], ebx
mov eax, dword [esp + 0x268]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004a1910
movzx eax, byte [esp + 8]
test al, al
je 0x4a424b
mov eax, dword [esp + 0x278]
test eax, eax
je 0x4a41d1
lea edi, [esp]
lea esi, [esp + 0x268]
call fcn.004705ae
call fcn.004a45e0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x2dc], ecx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x29c], eax
mov dword [esp + 0x2a0], ecx
mov dword [esp + 0x2a4], ebx
movzx eax, byte [ecx + 0xf]
test al, 0x40
setne al
movzx ebx, byte [esp + 0x4c]
or eax, ebx
mov byte [esp + 0x4c], al
test edx, edx
je 0x4a1d3b
mov ebx, dword [esp + 0x15c]
test ebx, ebx
je 0x4a1d49
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x2d8], ebp
cmp ebx, edx
jne 0x4a414b
mov eax, dword [esp + 0x240]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00406dd0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4a414b
movzx eax, byte [esp + 0x4c]
mov ecx, dword [esp + 0x2dc]
mov edx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x240]
jmp 0x4a1d49
mov edx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x240]
mov dword [esp + 0x15c], edx
mov dword [esp + 0x240], ebp
mov eax, dword [esp + 0x29c]
mov dword [esp], eax
call fcn.00401ff0
mov eax, dword [esp + 4]
test eax, eax
je 0x4a1d72
mov ecx, eax
jmp 0x4a1d7a
mov ecx, eax
lea eax, [0x78bc20]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x184]
xor ebp, ebp
jmp 0x4a3707
mov dword [esp + 0x2c4], ecx
mov dword [esp + 0x164], ebx
mov dword [esp + 0x184], edx
lea eax, [esp + 0xd4]
mov dword [esp], eax
lea eax, [0x6213e4]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00457ee0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x150]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x154]
cmp ebp, edx
jb 0x4a1df0
mov esi, dword [esp + 0x238]
jmp 0x4a1e48
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x2c0], ebx
mov ecx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5b1ec0]
mov dword [esp + 0x10], ecx
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c0]
mov esi, eax
mov ebp, ecx
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x154], ebp
mov dword [esp + 0x150], edx
mov dword [esp + 0x238], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00470810
mov eax, dword [esp + 0x29c]
movzx eax, byte [eax]
test al, 8
je 0x4a2116
mov eax, dword [esp + 0x2a0]
movzx eax, byte [eax + 0xf]
and eax, 0x1f
cmp eax, 0x16
jne 0x4a1ef6
mov ecx, dword [esp + 0x2dc]
movzx ebp, byte [ecx + 0xf]
and ebp, 0x1f
cmp ebp, 0x12
ja 0x4a1ebc
cmp ebp, 0x11
jne 0x4a1eb2
mov ebp, dword [ecx + 0x20]
jmp 0x4a1edc
cmp ebp, 0x12
jne 0x4a1eda
mov ebp, dword [ecx + 0x20]
jmp 0x4a1edc
cmp ebp, 0x15
jne 0x4a1ec6
mov ebp, dword [ecx + 0x24]
jmp 0x4a1edc
cmp ebp, 0x16
jne 0x4a1ed0
mov ebp, dword [ecx + 0x20]
jmp 0x4a1edc
cmp ebp, 0x17
jne 0x4a1eda
mov ebp, dword [ecx + 0x20]
jmp 0x4a1edc
xor ebp, ebp
movzx ebp, byte [ebp + 0xf]
and ebp, 0x1f
cmp ebp, 0x16
je 0x4a40eb
cmp ebp, 0x14
jne 0x4a1efd
jmp 0x4a40eb
mov ecx, dword [esp + 0x2dc]
cmp eax, 0x14
jne 0x4a1f32
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x2bc], eax
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x1e0], edx
xor ebx, ebx
mov ebp, dword [esp + 0x170]
mov esi, dword [esp + 0x244]
mov edi, dword [esp + 0x16c]
jmp 0x4a3f75
cmp eax, 0x16
jne 0x4a2023
movzx eax, byte [ecx + 0xc]
test al, 1
jne 0x4a1f48
xor eax, eax
jmp 0x4a1fa7
movzx eax, byte [ecx + 0xf]
and eax, 0x1f
cmp eax, 0x14
ja 0x4a1f7c
cmp eax, 0x12
ja 0x4a1f6d
cmp eax, 0x11
jne 0x4a1f63
lea eax, [ecx + 0x2c]
jmp 0x4a1fa7
cmp eax, 0x12
jne 0x4a1fa4
lea eax, [ecx + 0x28]
jmp 0x4a1fa7
cmp eax, 0x13
jne 0x4a1f77
lea eax, [ecx + 0x24]
jmp 0x4a1fa7
lea eax, [ecx + 0x30]
jmp 0x4a1fa7
cmp eax, 0x16
ja 0x4a1f90
cmp eax, 0x15
jne 0x4a1f8b
lea eax, [ecx + 0x38]
jmp 0x4a1fa7
lea eax, [ecx + 0x24]
jmp 0x4a1fa7
cmp eax, 0x17
jne 0x4a1f9a
lea eax, [ecx + 0x24]
jmp 0x4a1fa7
cmp eax, 0x19
jne 0x4a1fa4
lea eax, [ecx + 0x30]
jmp 0x4a1fa7
lea eax, [ecx + 0x20]
test eax, eax
je 0x4a2009
mov ebp, dword [esp + 0x180]
test ebp, ebp
jle 0x4a1fc3
movzx esi, word [eax + 4]
test si, si
ja 0x4a3f17
mov esi, dword [esp + 0x440]
cmp esi, 1
jg 0x4a3eff
movzx edi, word [eax + 4]
test di, di
jne 0x4a1fe2
xor eax, eax
xor edi, edi
jmp 0x4a1ff6
mov edx, dword [eax + 8]
movzx edi, di
add eax, edx
cmp edi, 0x10000
ja 0x4a3ef3
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x244]
jmp 0x4a3d33
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x244]
jmp 0x4a3a2b
movzx eax, byte [ecx + 0xc]
test al, 1
jne 0x4a2030
xor eax, eax
jmp 0x4a208f
movzx eax, byte [ecx + 0xf]
and eax, 0x1f
cmp eax, 0x14
ja 0x4a2064
cmp eax, 0x12
ja 0x4a2055
cmp eax, 0x11
jne 0x4a204b
lea eax, [ecx + 0x2c]
jmp 0x4a208f
cmp eax, 0x12
jne 0x4a208c
lea eax, [ecx + 0x28]
jmp 0x4a208f
cmp eax, 0x13
jne 0x4a205f
lea eax, [ecx + 0x24]
jmp 0x4a208f
lea eax, [ecx + 0x30]
jmp 0x4a208f
cmp eax, 0x16
ja 0x4a2078
cmp eax, 0x15
jne 0x4a2073
lea eax, [ecx + 0x38]
jmp 0x4a208f
lea eax, [ecx + 0x24]
jmp 0x4a208f
cmp eax, 0x17
jne 0x4a2082
lea eax, [ecx + 0x24]
jmp 0x4a208f
cmp eax, 0x19
jne 0x4a208c
lea eax, [ecx + 0x30]
jmp 0x4a208f
lea eax, [ecx + 0x20]
test eax, eax
je 0x4a20fc
mov ebp, dword [esp + 0x180]
test ebp, ebp
jle 0x4a20ab
movzx esi, word [eax + 4]
test si, si
ja 0x4a3a13
mov esi, dword [esp + 0x440]
cmp esi, 1
jle 0x4a20c6
movzx edi, byte [ecx + 0xf]
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x4a39fb
movzx edi, word [eax + 4]
test di, di
jne 0x4a20d5
xor eax, eax
xor edi, edi
jmp 0x4a20e9
mov edx, dword [eax + 8]
movzx edi, di
add eax, edx
cmp edi, 0x10000
ja 0x4a39ef
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x244]
jmp 0x4a382f
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x244]
jmp 0x4a37ca
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x244]
mov dword [esp + 0x170], eax
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x244], edx
lea ebx, [0x5b4b20]
mov dword [esp], ebx
lea ebp, [esp + 0x418]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2c4]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x164]
mov dword [esp + 0xc], edi
call fcn.004154f0
movzx eax, byte [esp + 0x14]
test al, al
je 0x4a2199
mov eax, dword [esp + 0x164]
cmp eax, 1
jne 0x4a37c1
mov ecx, dword [esp + 0x2c4]
cmp byte [ecx], 0x5f
je 0x4a21a7
jmp 0x4a3771
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x2c4]
lea edx, [0x5b4b20]
mov dword [esp], edx
lea ebx, [esp + 0x418]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00415850
mov eax, dword [esp + 0x10]
test byte [eax], al
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0x2dc]
mov ecx, dword [eax + 8]
shr ecx, 0x18
mov byte [esp + 0xd0], cl
mov ecx, dword [eax + 8]
shr ecx, 0x10
mov byte [esp + 0xd1], cl
mov ecx, dword [eax + 8]
shr ecx, 8
mov byte [esp + 0xd2], cl
mov ecx, dword [eax + 8]
mov byte [esp + 0xd3], cl
mov ecx, dword [esp + 0x184]
xor edx, edx
jmp 0x4a3721
mov dword [esp + 0x184], ecx
mov dword [esp], eax
call fcn.0049b890
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
lea edx, [esp + 0xb0]
mov dword [esp], edx
lea edx, [0x6213e4]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00457ee0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x150]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x154]
cmp ebp, edx
jb 0x4a2285
mov esi, dword [esp + 0x238]
jmp 0x4a22d9
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x2c4], ebx
mov ecx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5b1ec0]
mov dword [esp + 0x10], ecx
call fcn.004544e0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x150]
mov ebx, dword [esp + 0x2c4]
mov dword [esp + 0x154], ebp
mov dword [esp + 0x150], edx
mov dword [esp + 0x238], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00470810
mov eax, dword [esp + 0x29c]
movzx ecx, byte [eax]
test cl, 2
jne 0x4a2330
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x150]
mov ebx, dword [esp + 0x184]
jmp 0x4a24ef
mov dword [esp], eax
call fcn.004020b0
mov eax, dword [esp + 4]
test eax, eax
jne 0x4a2346
lea eax, [0x78bc20]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x184]
xor ebx, ebx
jmp 0x4a3738
mov dword [esp + 0x184], ecx
mov eax, dword [esp + 0x29c]
mov dword [esp], eax
call fcn.004020b0
mov eax, dword [esp + 4]
mov dword [esp + 0x234], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x14c], ecx
lea edx, [ecx + ecx*2]
mov ebx, edx
shr edx, 0x1f
add edx, ebx
sar edx, 1
mov dword [esp + 0x1e0], edx
lea ebx, [0x5b1ec0]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.00454420
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 0x1e0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x234]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x10], eax
mov byte [esp + 0x14], 0x22
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 0
call fcn.00497f70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x90]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00458180
lea eax, [esp + 0x70]
mov dword [esp], eax
lea eax, [0x6213e4]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.00457ee0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x150]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x154]
cmp ebp, edx
jb 0x4a2458
mov esi, dword [esp + 0x238]
jmp 0x4a24ac
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x1e0], eax
mov ecx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5b1ec0]
mov dword [esp + 0x10], ecx
call fcn.004544e0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x150]
mov ebx, dword [esp + 0x2c4]
mov dword [esp + 0x154], ebp
mov dword [esp + 0x150], edx
mov dword [esp + 0x238], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00470810
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x150]
mov ebx, dword [esp + 0x184]
mov dword [esp + 0x184], ebx
mov ebp, dword [esp + 0x440]
lea esi, [ebp - 1]
mov edi, ebp
mov ebp, dword [esp + 0x180]
cmp ebp, esi
jge 0x4a255a
inc edx
cmp eax, edx
jae 0x4a2555
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x184]
mov ebp, dword [esp + 0x180]
mov edi, dword [esp + 0x440]
mov byte [edx + ecx - 1], 0x3b
mov dword [esp + 0x154], eax
mov esi, ecx
movzx ecx, byte [esp + 0x4d]
test cl, cl
je 0x4a2581
mov ecx, dword [esp + 0x2dc]
mov edi, dword [ecx + 0x10]
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
jmp 0x4a258a
mov ecx, dword [esp + 0x2dc]
xor edi, edi
mov dword [esp + 0x150], edx
mov dword [esp + 0x2b8], esi
movzx eax, byte [ecx + 0xd]
movzx edx, al
mov ebx, dword [esp + 0x148]
lea esi, [ebx + edx - 1]
neg edx
and esi, edx
cmp ebx, esi
ja 0x4a3759
movzx edx, byte [esp + 0x4b]
cmp dl, al
jb 0x4a25c1
mov eax, edx
mov edx, dword [ecx]
add edx, esi
cmp esi, edx
ja 0x4a3741
mov byte [esp + 0x4b], al
mov dword [esp + 0x2a4], esi
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4a25e2
mov ecx, edx
jmp 0x4a25eb
mov ecx, edx
mov edx, dword [esp + 0x174]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x174], edx
lea ebx, [ebp + ebp*2]
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x2e4]
mov dword [edx + ebx*4 + 8], esi
mov esi, dword [0x78be40]
test esi, esi
je 0x4a1b81
xchg edi, eax
mov byte [esp + 0x4e], al
xchg edi, eax
call fcn.0046ff10
mov dword [edi], eax
mov esi, dword [edx + ebx*4]
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov esi, dword [edx + ebx*4 + 4]
mov dword [edi + 0xc], esi
movzx edi, byte [esp + 0x4e]
jmp 0x4a1b81
mov ebx, dword [esp + 0x148]
test ebx, ebx
jbe 0x4a266f
mov eax, ebp
mov ebp, dword [esp + 0x174]
cmp ebp, ebx
jne 0x4a2671
cmp ebx, 0xffffffff
je 0x4a36e1
inc ebx
jmp 0x4a2671
mov eax, ebp
mov dword [esp + 0x148], ebx
mov ebp, dword [esp + 0x16c]
test ebp, ebp
je 0x4a2ac6
lea edi, [esp + 0x39c]
xor eax, eax
call fcn.00470114
lea ecx, [0x5b96a0]
mov dword [esp + 0x260], ecx
lea ecx, [esp + 0x39c]
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x260]
test ecx, ecx
je 0x4a26c3
lea edi, [0x622d88]
jmp 0x4a26c7
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 0
lea esi, [0x5c6b20]
mov dword [esp + 0x258], esi
lea esi, [esp + 0x20c]
mov dword [esp + 0x25c], esi
mov esi, dword [esp + 0x258]
test esi, esi
je 0x4a272a
lea eax, [0x622d88]
mov dword [esp + 0x134], eax
xor eax, eax
jmp 0x4a2735
xor esi, esi
mov dword [esp + 0x134], esi
xor esi, esi
mov dword [esp + 0x21c], esi
mov dword [esp + 0x220], ecx
mov dword [esp + 0x138], edi
mov ebx, dword [esp + 0x244]
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebx]
mov dword [esp + 0x1fc], ebx
mov dword [esp + 0x200], edx
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], ecx
lea ecx, [0x5c4540]
mov dword [esp + 0x250], ecx
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x254], ecx
mov ecx, dword [esp + 0x250]
test ecx, ecx
je 0x4a27a6
lea edx, [0x622d88]
jmp 0x4a27aa
xor edx, edx
xor ecx, ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a4930
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2d8], ecx
lea edi, [esp + 0x300]
mov edx, eax
xor eax, eax
call fcn.004700f9
mov dword [esp + 0x304], 1
lea eax, [0x5da099]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x314], eax
mov dword [esp + 0x338], 1
lea eax, [0x6204bc]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x344], eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x348], eax
mov dword [esp + 0x36c], 1
lea eax, [0x5da09a]
mov dword [esp + 0x368], eax
mov dword [esp + 0x378], edx
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x37c], eax
lea eax, [esp + 0x300]
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 8], 3
call fcn.004a1a10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004afad0
mov eax, dword [esp + 8]
mov dword [esp + 0x2dc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2e0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1e4], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004a98a0
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.004a9a50
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.004a67c0
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.004af3c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2d4], eax
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x2e0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x1e4]
mov dword [esp + 8], ebx
call fcn.004a98a0
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.004a9a50
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.004a67c0
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.004af3c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2d0], eax
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 8], ecx
call fcn.004a98a0
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.004a9a50
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 + 0x16c]
mov dword [esp + 0x10], eax
call fcn.004ae880
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.004aa820
mov eax, dword [esp + 0x10]
lea ecx, [0x5a9ca0]
cmp eax, ecx
jne 0x4a36cb
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x16c]
cmp edx, ecx
jge 0x4a2a86
mov ecx, edx
jmp 0x4a2a8f
mov edx, ecx
mov ecx, dword [esp + 0x16c]
mov eax, dword [eax]
mov ebx, dword [esp + 0x244]
cmp ebx, eax
je 0x4a2ab6
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 4
mov dword [esp + 8], edx
call fcn.00470810
mov ecx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [esp + 0x2d4]
jmp 0x4a2adb
lea eax, [0x5bcce0]
mov dword [esp], eax
call fcn.00410f90
mov eax, dword [esp + 4]
lea ecx, [eax + 0x30]
mov dword [esp + 0x224], eax
mov edx, dword [esp + 0x16c]
mov word [ecx + 4], dx
mov word [ecx + 6], dx
mov dword [ecx + 8], 0x10
mov ecx, dword [esp + 0x440]
test ecx, ecx
je 0x4a2b74
mov ebx, dword [esp + 0x150]
inc ebx
mov ebp, dword [esp + 0x154]
cmp ebp, ebx
jb 0x4a2b1f
mov esi, dword [esp + 0x238]
jmp 0x4a2b6d
mov eax, dword [esp + 0x238]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x16c]
mov esi, eax
mov ebp, ecx
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x440]
mov byte [ebx + esi - 1], 0x20
jmp 0x4a2b89
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x238]
inc ebx
cmp ebp, ebx
jae 0x4a2bcd
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x440]
mov edx, dword [esp + 0x16c]
mov byte [ebx + esi - 1], 0x7d
nop
mov ebp, dword [esp + 0x184]
xor edi, edi
jmp 0x4a2bec
imul ebp, ebp, 0x1000193
xor ebp, 0x7d
mov edi, 1
test edi, edi
jle 0x4a2bde
mov dword [esp + 0x184], ebp
lea eax, [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.00458180
movzx eax, byte [esp + 0x4b]
movzx ecx, al
mov edx, dword [esp + 0x148]
lea ebx, [edx + ecx - 1]
neg ecx
and ebx, ecx
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
cmp edx, ebx
ja 0x4a36b3
mov dword [esp + 0x148], ebx
mov dword [esp + 0x230], ecx
mov dword [esp + 0x144], ebp
lea edx, [0x5b3020]
mov dword [esp + 0x248], edx
lea edx, [0x78bc20]
mov dword [esp + 0x24c], edx
mov edi, dword [esp + 0x224]
test byte [edi], al
mov esi, dword [esp + 0x248]
test byte [esi], al
mov edx, dword [0x78be40]
test edx, edx
je 0x4a2cd8
mov dword [esp + 0x23c], esi
mov eax, edi
call fcn.0046fef0
mov ecx, dword [esp + 0x2e4]
mov dword [edi], ecx
mov edx, dword [eax + 0x24]
mov dword [edi + 4], edx
lea edx, [0x5b96a0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00416300
movzx eax, byte [esp + 0x4b]
mov ecx, dword [esp + 0x230]
mov ebx, dword [esp + 0x148]
mov ebp, dword [esp + 0x144]
mov esi, dword [esp + 0x23c]
mov edi, dword [esp + 0x224]
call fcn.004705b8
mov ecx, dword [esp + 0x440]
mov edx, dword [esp + 0x224]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [edx + 0x24], ecx
mov ecx, dword [esp + 0x15c]
test ecx, ecx
je 0x4a2d61
mov eax, dword [esp + 0x240]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 0
call fcn.004021c0
mov eax, dword [0x78be40]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4a2d4a
mov eax, dword [esp + 0x224]
jmp 0x4a2d5e
call fcn.0046fef0
mov dword [edi], ecx
mov eax, dword [esp + 0x224]
mov edx, dword [eax + 0x20]
mov dword [edi + 4], edx
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x184]
mov dword [esp + 0x1f8], eax
lea ecx, [0x74d488]
mov dword [esp], ecx
lea edx, [0x5b1fc0]
mov dword [esp + 4], edx
lea ebx, [esp + 0x1f8]
mov dword [esp + 8], ebx
call fcn.004790e0
movzx eax, byte [esp + 0x14]
test al, al
je 0x4a2dcb
mov eax, dword [esp + 0xc]
lea ecx, [0x5a9e20]
cmp eax, ecx
jne 0x4a369d
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov dword [esp + 0x2cc], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x1e8], eax
xor ebx, ebx
jmp 0x4a3627
lea eax, [0x74d480]
mov dword [esp], eax
call fcn.0047a050
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2fc], 0
lea eax, [0x4a4560]
mov dword [esp + 0x2f8], eax
lea eax, [0x74d480]
mov dword [esp + 0x2fc], eax
lea eax, [esp + 0x2f8]
mov dword [esp + 0x434], eax
mov byte [esp + 0x4f], 1
mov eax, dword [esp + 0x184]
mov dword [esp + 0x1f4], eax
lea ecx, [0x74d488]
mov dword [esp], ecx
lea ecx, [0x5b1fc0]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x1f4]
mov dword [esp + 8], ecx
call fcn.004790e0
movzx eax, byte [esp + 0x14]
test al, al
je 0x4a2e86
mov eax, dword [esp + 0xc]
lea ecx, [0x5a9e20]
cmp eax, ecx
jne 0x4a35f3
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x2cc], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x1e8], eax
xor edx, edx
jmp 0x4a356d
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 0
lea eax, [0x4a43d0]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x1f0], eax
mov ecx, dword [esp + 0x230]
mov dword [esp], ecx
mov edx, dword [esp + 0x144]
mov dword [esp + 4], edx
call fcn.0049f840
mov eax, dword [esp + 8]
mov dword [esp + 0x2c8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1e8], ecx
xor edx, edx
jmp 0x4a2f03
mov ebx, dword [esp + 0x1e0]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x1e8]
cmp edx, ecx
jge 0x4a2f98
mov dword [esp + 0x1e0], edx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x228], ecx
mov ebx, dword [esp + 0x224]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.0049f110
movzx eax, byte [esp + 0xc]
test al, al
je 0x4a2eeb
mov eax, dword [esp + 0x228]
test eax, eax
je 0x4a2f50
lea ecx, [0x622d88]
jmp 0x4a2f54
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x1ec]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [esp + 0x1ec]
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x448], eax
mov dword [esp + 0x44c], ecx
mov byte [esp + 0x4f], 0
mov edx, dword [esp + 0x434]
mov eax, dword [edx]
call eax
add esp, 0x438
ret
mov eax, dword [esp + 0x230]
mov dword [esp], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 0
call fcn.004021c0
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.0046cfa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x224]
mov dword [ecx + 0x18], eax
mov byte [ecx + 0xc], 0
mov eax, dword [esp + 0x184]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x148]
mov dword [ecx], eax
mov dword [esp], ecx
call fcn.004a4830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x224]
mov dword [ecx + 4], eax
movzx eax, byte [esp + 0x4b]
mov byte [ecx + 0xd], al
mov byte [ecx + 0xe], al
mov dword [ecx + 0x1c], 0
mov eax, dword [esp + 0x16c]
test eax, eax
je 0x4a303a
movzx eax, byte [ecx + 0xc]
or eax, 1
mov byte [ecx + 0xc], al
movzx eax, byte [esp + 0x4c]
test al, al
je 0x4a305c
mov eax, dword [esp + 0x2e4]
mov edx, eax
mov ebx, dword [esp + 0x440]
xor ebp, ebp
xor esi, esi
jmp 0x4a31eb
movzx eax, byte [ecx + 0xf]
and eax, 0xffffffbf
mov byte [ecx + 0xf], al
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2f0], 0
mov dword [esp + 0x2f4], 0
lea eax, [esp + 0x2e8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.004a5c50
mov eax, dword [esp + 0x2f0]
test eax, eax
je 0x4a30eb
mov eax, dword [0x78be40]
mov ecx, dword [esp + 0x2ec]
test eax, eax
jne 0x4a30d2
mov eax, dword [esp + 0x224]
jmp 0x4a30e6
call fcn.0046fef0
mov dword [edi], ecx
mov eax, dword [esp + 0x224]
mov ebx, dword [eax + 0x14]
mov dword [edi + 4], ebx
mov dword [eax + 0x14], ecx
jmp 0x4a30f2
mov eax, dword [esp + 0x224]
mov ecx, dword [0x78be40]
test ecx, ecx
je 0x4a3106
mov ecx, dword [eax + 0x10]
call fcn.0046fee0
mov dword [edi], ecx
mov dword [eax + 0x10], 0
movzx ecx, byte [esp + 0x4d]
test cl, cl
je 0x4a3162
lea eax, [0x5b8ca0]
mov dword [esp], eax
call fcn.00410f90
mov eax, dword [esp + 4]
lea ecx, [0x4a4350]
mov dword [eax], ecx
mov ecx, dword [0x78be40]
test ecx, ecx
jne 0x4a3143
mov ecx, dword [esp + 0x224]
jmp 0x4a315a
call fcn.0046ff00
mov ecx, dword [esp + 0x224]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov ebx, dword [ecx + 0x10]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov dword [ecx + 0x10], eax
mov eax, ecx
mov ecx, dword [esp + 0x440]
cmp ecx, 1
jne 0x4a318d
mov ecx, dword [esp + 0x2e4]
mov ecx, dword [ecx + 4]
movzx ecx, byte [ecx + 0xf]
test cl, 0x20
je 0x4a318d
movzx ecx, byte [eax + 0xf]
or ecx, 0x20
mov byte [eax + 0xf], cl
jmp 0x4a3197
movzx ecx, byte [eax + 0xf]
and ecx, 0xffffffdf
mov byte [eax + 0xf], cl
mov ecx, dword [esp + 0x1ec]
lea ebx, [0x622d88]
mov dword [esp], ebx
mov dword [esp + 4], eax
lea edx, [esp + 0x1ec]
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x448], eax
mov dword [esp + 0x44c], ecx
mov byte [esp + 0x4f], 0
mov edx, dword [esp + 0x434]
mov eax, dword [edx]
call eax
add esp, 0x438
ret
add edi, 0xc
inc eax
mov esi, ebp
mov ebp, eax
mov eax, edi
cmp ebx, ebp
jle 0x4a3205
mov edi, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
test eax, eax
je 0x4a31ff
mov eax, ebp
jmp 0x4a31e1
mov eax, ebp
mov ebp, esi
jmp 0x4a31e1
mov dword [esp + 0x178], esi
lea eax, [0x5adfa0]
mov dword [esp], eax
call fcn.00410f90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2e4]
mov edx, ecx
mov ebx, dword [esp + 0x440]
mov ebp, dword [esp + 0x178]
xor esi, esi
mov edi, 4
mov esi, 4
mov dword [esp + 0x158], esi
xor edi, edi
mov dword [esp + 0x160], edi
xor esi, esi
mov edi, 4
jmp 0x4a326c
add ecx, 0xc
inc esi
mov dword [esp + 0x158], edx
mov edx, dword [esp + 0x2e4]
cmp ebx, esi
jle 0x4a3397
cmp esi, ebp
jg 0x4a3397
mov edx, dword [ecx + 4]
mov dword [esp + 0x2dc], edx
mov edx, dword [edx + 4]
test edx, edx
je 0x4a338b
mov dword [esp + 0x2e0], ecx
mov dword [esp + 0x17c], esi
mov edx, dword [ecx + 8]
mov ebp, dword [esp + 0x160]
cmp ebp, edx
jae 0x4a337f
mov dword [esp + 0x1dc], edx
mov ebx, dword [esp + 0x158]
add ebx, 2
sub edx, ebp
cmp edi, ebx
jae 0x4a3312
mov dword [esp + 0x1d8], edx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 2
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x17c]
mov word [ebx + eax - 2], 1
shr edx, 2
cmp edx, 1
jbe 0x4a348d
inc ebx
cmp edi, ebx
jae 0x4a3374
mov dword [esp + 0x168], edx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x168]
mov esi, dword [esp + 0x17c]
mov byte [ebx + eax - 1], 0x81
dec edx
jmp 0x4a34ab
mov edx, dword [esp + 0x158]
jmp 0x4a3426
mov edx, dword [esp + 0x158]
jmp 0x4a325a
mov ebp, dword [esp + 0x158]
inc ebp
cmp edi, ebp
jae 0x4a33db
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x2e4]
mov ebx, dword [esp + 0x440]
mov byte [ebp + eax - 1], 0
test ebp, ebp
jbe 0x4a341d
lea ecx, [ebp - 4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x224]
movzx ebp, byte [ecx + 0xf]
or ebp, 0x40
xchg ebp, eax
mov byte [ecx + 0xf], al
xchg ebp, eax
mov ebp, dword [0x78be40]
test ebp, ebp
je 0x4a3413
call fcn.0046fef0
mov dword [edi], eax
mov ebp, dword [ecx + 0x14]
mov dword [edi + 4], ebp
mov dword [ecx + 0x14], eax
mov eax, ecx
jmp 0x4a30f2
xor eax, eax
mov ecx, eax
call fcn.0046ff60
mov dword [esp + 0x160], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0xc], eax
call fcn.004a1120
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x2dc]
add ecx, dword [ebx + 4]
mov ebx, dword [esp + 0x440]
mov ebp, dword [esp + 0x178]
mov esi, dword [esp + 0x17c]
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 0x2e0]
jmp 0x4a325a
mov edx, ebx
mov ebp, dword [esp + 0x1dc]
jmp 0x4a3426
mov ebp, edx
or ebp, 0x80
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
shr edx, 7
mov dword [esp + 0x140], edx
cmp edx, 0x80
jb 0x4a3504
inc ebx
cmp edi, ebx
jae 0x4a3498
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x140]
mov esi, dword [esp + 0x17c]
jmp 0x4a3498
inc ebx
cmp edi, ebx
jae 0x4a354c
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x140]
mov esi, dword [esp + 0x17c]
mov byte [ebx + eax - 1], dl
jmp 0x4a348d
mov ebx, dword [esp + 0x1e0]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x2cc]
cmp edx, eax
jge 0x4a2e86
mov dword [esp + 0x1e0], edx
lea eax, [ecx + edx*8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [ebx + 0x84]
mov dword [esp], eax
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x2dc], eax
mov ecx, dword [esp + 0x224]
mov dword [esp], ecx
mov byte [esp + 8], 1
call fcn.0049f110
movzx eax, byte [esp + 0xc]
test al, al
je 0x4a3555
mov eax, dword [esp + 0x2dc]
test eax, eax
je 0x4a35ca
lea ecx, [0x622d88]
jmp 0x4a35ce
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x448], ecx
mov dword [esp + 0x44c], eax
mov byte [esp + 0x4f], 0
mov edx, dword [esp + 0x434]
mov eax, dword [edx]
call eax
add esp, 0x438
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5b3260]
mov dword [esp + 8], eax
call fcn.0040e4c0
mov ebp, dword [esp + 0x1e0]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x1e8]
lea ecx, [0x5a9e20]
mov edx, dword [esp + 0x2cc]
cmp ebx, eax
jge 0x4a2dcb
mov dword [esp + 0x1e0], ebx
lea eax, [edx + ebx*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 0x84]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x22c], eax
mov ecx, dword [esp + 0x224]
mov dword [esp], ecx
mov byte [esp + 8], 1
call fcn.0049f110
movzx eax, byte [esp + 0xc]
test al, al
je 0x4a3609
mov eax, dword [esp + 0x22c]
test eax, eax
je 0x4a3684
lea ecx, [0x622d88]
jmp 0x4a3688
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x448], ecx
mov dword [esp + 0x44c], eax
add esp, 0x438
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5b3260]
mov dword [esp + 8], eax
call fcn.0040e4c0
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217d0]
mov dword [esp + 4], eax
call fcn.0043d570
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5b3260]
mov dword [esp + 8], eax
call fcn.0040e4c0
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217d0]
mov dword [esp + 4], eax
call fcn.0043d570
movzx esi, byte [ebp + eax]
imul edx, edx, 0x1000193
inc ebp
xor edx, esi
cmp ebp, ebx
jl 0x4a36f9
jmp 0x4a1d8c
movzx ebx, byte [esp + edx + 0xd0]
imul ecx, ecx, 0x1000193
inc edx
xor ecx, ebx
cmp edx, 4
jl 0x4a3710
jmp 0x4a221f
movzx ebp, byte [ebx + eax]
imul ecx, ecx, 0x1000193
inc ebx
xor ecx, ebp
cmp ebx, edx
jl 0x4a372b
jmp 0x4a2358
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217d0]
mov dword [esp + 4], eax
call fcn.0043d570
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217d0]
mov dword [esp + 4], eax
call fcn.0043d570
mov dword [esp], 0
lea edx, [0x5e5964]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x22
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00457ee0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040e820
mov eax, dword [esp + 8]
lea ecx, [0x5b1e40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
mov ecx, dword [esp + 0x2c4]
jmp 0x4a3771
mov ecx, edx
mov edx, ebx
jmp 0x4a212b
lea ebp, [edx - 1]
shl ebp, 4
mov esi, dword [esp + 0x1c0]
mov dword [ebx + ebp], esi
mov esi, dword [esp + 0x1bc]
mov dword [ebx + ebp + 4], esi
mov esi, dword [esp + 0x1b8]
mov dword [ebx + ebp + 8], esi
mov dword [ebx + ebp + 0xc], eax
mov eax, dword [esp + 0x2d4]
add eax, 0x10
mov ebp, dword [esp + 0x1e0]
lea edi, [ebp - 1]
mov ebp, dword [esp + 0x180]
mov esi, dword [esp + 0x440]
mov dword [esp + 0x16c], edx
mov edx, ecx
mov ecx, dword [esp + 0x2dc]
test edi, edi
jle 0x4a39c9
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x2d4], eax
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x1d0], ebx
mov ebp, dword [eax + 8]
mov dword [esp + 0x1cc], ebp
mov esi, dword [eax + 0xc]
mov dword [esp + 0x1c8], esi
nop
nop
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0046ce60
mov eax, dword [esp + 8]
mov dword [esp + 0x2d0], eax
mov dword [esp], eax
call fcn.0049b670
mov eax, dword [esp + 8]
test eax, eax
jne 0x4a39d7
mov eax, dword [esp + 0x16c]
inc eax
mov dword [esp + 0x1c4], eax
nop
mov ecx, dword [esp + 0x2d0]
mov dword [esp], ecx
call fcn.0046cfa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x1c0], eax
nop
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x1d0]
mov dword [esp + 4], edx
call fcn.0046cea0
mov eax, dword [esp + 8]
nop
mov dword [esp], eax
call fcn.0046cfa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x1bc], eax
nop
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x1cc]
mov dword [esp + 4], edx
call fcn.0046cee0
mov eax, dword [esp + 8]
nop
mov dword [esp], eax
call fcn.0046cfa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x1b8], eax
nop
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x1c8]
mov dword [esp + 4], edx
call fcn.0046cee0
mov eax, dword [esp + 8]
nop
mov dword [esp], eax
call fcn.0046cfa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1c4]
cmp ecx, edx
jb 0x4a397d
mov ebx, dword [esp + 0x2b4]
jmp 0x4a37d3
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x2b4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5c4540]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x1b4]
jmp 0x4a37d3
mov eax, edx
mov edx, dword [esp + 0x16c]
jmp 0x4a37ca
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217b0]
mov dword [esp + 4], eax
call fcn.0043d570
mov edx, edi
mov ebx, 0x10000
call fcn.0046ffe0
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217c8]
mov dword [esp + 4], eax
call fcn.0043d570
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217b8]
mov dword [esp + 4], eax
call fcn.0043d570
mov ebp, dword [ecx + 0x20]
movzx esi, byte [ebp + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
jne 0x4a3a3d
xor ebp, ebp
jmp 0x4a3a9c
movzx esi, byte [ebp + 0xf]
and esi, 0x1f
cmp esi, 0x14
ja 0x4a3a71
cmp esi, 0x12
ja 0x4a3a62
cmp esi, 0x11
jne 0x4a3a58
add ebp, 0x2c
jmp 0x4a3a9c
cmp esi, 0x12
jne 0x4a3a99
add ebp, 0x28
jmp 0x4a3a9c
cmp esi, 0x13
jne 0x4a3a6c
add ebp, 0x24
jmp 0x4a3a9c
add ebp, 0x30
jmp 0x4a3a9c
cmp esi, 0x16
ja 0x4a3a85
cmp esi, 0x15
jne 0x4a3a80
add ebp, 0x38
jmp 0x4a3a9c
add ebp, 0x24
jmp 0x4a3a9c
cmp esi, 0x17
jne 0x4a3a8f
add ebp, 0x24
jmp 0x4a3a9c
cmp esi, 0x19
jne 0x4a3a99
add ebp, 0x30
jmp 0x4a3a9c
add ebp, 0x20
test ebp, ebp
je 0x4a37ca
movzx esi, word [ebp + 4]
test si, si
jne 0x4a3ab3
xor ebp, ebp
xor esi, esi
jmp 0x4a3b10
mov edi, dword [ebp + 8]
movzx esi, si
add ebp, edi
cmp esi, 0x10000
ja 0x4a3ccb
jmp 0x4a3b10
lea edi, [edx - 1]
shl edi, 4
mov ebp, dword [esp + 0x1c0]
mov dword [ebx + edi], ebp
mov ebp, dword [esp + 0x1bc]
mov dword [ebx + edi + 4], ebp
mov ebp, dword [esp + 0x1b8]
mov dword [ebx + edi + 8], ebp
mov dword [ebx + edi + 0xc], eax
mov edi, dword [esp + 0x2d4]
lea ebp, [edi + 0x10]
mov edi, dword [esp + 0x1e0]
lea esi, [edi - 1]
mov eax, ecx
mov ecx, dword [esp + 0x2dc]
test esi, esi
jle 0x4a37ca
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x2d4], ebp
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp + 0x1d0], edx
mov ebx, dword [ebp + 8]
mov dword [esp + 0x1cc], ebx
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x1c8], esi
nop
nop
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046ce60
mov eax, dword [esp + 8]
mov dword [esp + 0x2d0], eax
mov dword [esp], eax
call fcn.0049b670
mov eax, dword [esp + 8]
test eax, eax
jne 0x4a3cb3
mov eax, dword [esp + 0x1ac]
inc eax
mov dword [esp + 0x1c4], eax
nop
mov ecx, dword [esp + 0x2d0]
mov dword [esp], ecx
call fcn.0046cfa0
mov eax, dword [esp + 0x2dc]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 4]
mov dword [esp + 0x1c0], edx
nop
mov dword [esp], ecx
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
call fcn.0046cea0
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.0046cfa0
mov eax, dword [esp + 0x2dc]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 4]
mov dword [esp + 0x1bc], edx
nop
mov dword [esp], ecx
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 4], ecx
call fcn.0046cee0
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.0046cfa0
mov eax, dword [esp + 0x2dc]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 4]
mov dword [esp + 0x1b8], edx
nop
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 4], ecx
call fcn.0046cee0
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.0046cfa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1c4]
cmp ecx, edx
jb 0x4a3c69
mov ebx, dword [esp + 0x2b0]
jmp 0x4a3ac9
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x2b0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5c4540]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x1b4]
jmp 0x4a3ac9
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217b0]
mov dword [esp + 4], eax
call fcn.0043d570
mov edx, esi
mov ebx, 0x10000
call fcn.0046ffe0
lea ebp, [edx - 1]
shl ebp, 4
mov esi, dword [esp + 0x1c0]
mov dword [ebx + ebp], esi
mov esi, dword [esp + 0x1bc]
mov dword [ebx + ebp + 4], esi
mov esi, dword [esp + 0x1b8]
mov dword [ebx + ebp + 8], esi
mov dword [ebx + ebp + 0xc], eax
mov eax, dword [esp + 0x2d4]
add eax, 0x10
mov ebp, dword [esp + 0x1e0]
lea edi, [ebp - 1]
mov ebp, dword [esp + 0x180]
mov esi, dword [esp + 0x440]
mov dword [esp + 0x16c], edx
mov edx, ecx
mov ecx, dword [esp + 0x2dc]
test edi, edi
jle 0x4a3ecd
mov dword [esp + 0x1a8], edx
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x2d4], eax
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x1d0], ebx
mov ebp, dword [eax + 8]
mov dword [esp + 0x1cc], ebp
mov esi, dword [eax + 0xc]
mov dword [esp + 0x1c8], esi
nop
nop
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0046ce60
mov eax, dword [esp + 8]
mov dword [esp + 0x2d0], eax
mov dword [esp], eax
call fcn.0049b670
mov eax, dword [esp + 8]
test eax, eax
jne 0x4a3edb
mov eax, dword [esp + 0x16c]
inc eax
mov dword [esp + 0x1c4], eax
nop
mov ecx, dword [esp + 0x2d0]
mov dword [esp], ecx
call fcn.0046cfa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x1c0], eax
nop
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x1d0]
mov dword [esp + 4], edx
call fcn.0046cea0
mov eax, dword [esp + 8]
nop
mov dword [esp], eax
call fcn.0046cfa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x1bc], eax
nop
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x1cc]
mov dword [esp + 4], edx
call fcn.0046cee0
mov eax, dword [esp + 8]
nop
mov dword [esp], eax
call fcn.0046cfa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x1b8], eax
nop
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x1c8]
mov dword [esp + 4], edx
call fcn.0046cee0
mov eax, dword [esp + 8]
nop
mov dword [esp], eax
call fcn.0046cfa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1c4]
cmp ecx, edx
jb 0x4a3e81
mov ebx, dword [esp + 0x2ac]
jmp 0x4a3cd7
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5c4540]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x1b4]
jmp 0x4a3cd7
mov eax, edx
mov edx, dword [esp + 0x16c]
jmp 0x4a3a2b
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217b0]
mov dword [esp + 4], eax
call fcn.0043d570
mov edx, edi
mov ebx, 0x10000
call fcn.0046ffe0
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217c0]
mov dword [esp + 4], eax
call fcn.0043d570
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217b8]
mov dword [esp + 4], eax
call fcn.0043d570
lea ebx, [edx - 1]
shl ebx, 4
mov ebp, dword [esp + 0x1bc]
mov dword [esi + ebx], ebp
mov dword [esi + ebx + 4], eax
mov eax, dword [esp + 0x1c0]
mov dword [esi + ebx + 8], eax
mov dword [esi + ebx + 0xc], eax
mov eax, dword [esp + 0x1c4]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x2bc]
mov ebp, ecx
mov edi, edx
mov ecx, dword [esp + 0x2dc]
mov edx, dword [esp + 0x1e0]
cmp ebx, edx
jge 0x4a40c8
mov dword [esp + 0x2a8], esi
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1a4], ebp
mov dword [esp + 0x1a0], edi
lea edx, [eax + ebx*8]
mov ebp, dword [edx]
mov dword [esp + 0x19c], ebp
mov edx, dword [edx + 4]
mov dword [esp + 0x1d0], edx
nop
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0046ce60
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.0049b670
mov eax, dword [esp + 8]
test eax, eax
jne 0x4a40d3
mov eax, dword [esp + 0x1a0]
inc eax
mov dword [esp + 0x198], eax
nop
lea ecx, [0x4a45a0]
mov dword [esp], ecx
call fcn.0046cfa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x1c0], eax
nop
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x19c]
mov dword [esp + 4], edx
call fcn.0046ce60
mov eax, dword [esp + 8]
nop
mov dword [esp], eax
call fcn.0046cfa0
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x1bc], eax
nop
mov ecx, dword [esp + 0x2dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x1d0]
mov dword [esp + 4], edx
call fcn.0046cea0
mov eax, dword [esp + 8]
nop
mov dword [esp], eax
call fcn.0046cfa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x198]
cmp ecx, edx
jb 0x4a407c
mov esi, dword [esp + 0x2a8]
jmp 0x4a3f2f
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5c4540]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edx, eax
mov ecx, ebp
mov eax, dword [esp + 0x1b8]
jmp 0x4a3f2f
mov eax, ebp
mov edx, edi
mov ebx, esi
jmp 0x4a37ca
lea eax, [0x5b1e40]
mov dword [esp], eax
lea eax, [0x6217b0]
mov dword [esp + 4], eax
call fcn.0043d570
mov dword [esp], ecx
call fcn.0049b890
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x5e8dad]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2e
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00457ee0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040e820
mov eax, dword [esp + 8]
lea ecx, [0x5b1e40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
mov dword [esp], 0
lea eax, [0x5e8d7f]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x2e
mov eax, dword [esp + 0x240]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x10], eax
lea eax, [0x5da616]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 5
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x20], eax
call fcn.00458010
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040e820
mov eax, dword [esp + 8]
lea ecx, [0x5b1e40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
mov eax, dword [esp + 0x180]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00497520
mov dword [esp], 0
lea eax, [0x5e178e]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
lea eax, [0x5dc3a2]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xc
call fcn.00457f80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040e820
mov eax, dword [esp + 8]
lea ecx, [0x5b1e40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
mov eax, dword [esp + 0x180]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00497520
mov dword [esp], 0
lea eax, [0x5e178e]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
lea eax, [0x5de249]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x11
call fcn.00457f80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040e820
mov eax, dword [esp + 8]
lea ecx, [0x5b1e40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
mov eax, ebx
sar ebx, 0x1f
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xa
call fcn.00497520
mov dword [esp], 0
lea eax, [0x5e178e]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
lea eax, [0x5dc396]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xc
call fcn.00457f80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040e820
mov eax, dword [esp + 8]
lea ecx, [0x5b1e40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
nop
call fcn.0043d270
add esp, 0x438
ret
call fcn.0046eae0
jmp fcn.004a1a10