Function at 0x430a4a
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x11954
call fcn.0050d330
push ebx
xor ebx, ebx
mov dword [esp + 0x5c], 0xf99ff606
xor eax, eax
mov dword [esp + 0x44], 0xfffffff6
push esi
inc eax
mov byte [esp + 0x7d], dl
push edi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x64], eax
jmp 0x430acb
mov dword [esp + 0x18], 0xd7953644
mov dword [esp + 0x18], 0xfffffff8
jmp 0x430ac0
mov dword [esp + 0x54], 0xfffffffc
xor edx, edx
mov dword [esp + 0x4c], 0xb7161ab6
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setne dl
mov dword [esp + 0x4c], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1b
jg 0x430a99
dec dword [esp + 0x64]
cmp dword [esp + 0x64], 0xfffffff7
jne 0x430a87
mov dword [esp + 0x24], 0x4c1d
cmp dword [esp + 0x24], 0x4cdb
jle 0x430b74
mov dword [esp + 0x20], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], 0x5cfa
mov esi, dword [esp + 0x64]
mov edi, ebx
mov ecx, edi
mov dword [esp + 0x54], esi
shl esi, cl
mov eax, esi
lea ecx, [esp + 0xa84]
xor eax, ebx
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x430b23
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xa84]
push 0
inc eax
push eax
call fcn.0040160a
inc ebx
cmp ebx, 0x7b0e
jl 0x430b06
mov esi, dword [esp + 0x64]
inc edi
push 0
pop ebx
cmp edi, 0x6b32
jl 0x430afe
mov esi, dword [esp + 0x20]
add dword [esp + 0x64], esi
dec dword [esp + 0x4c]
jne 0x430af8
inc esi
mov dword [esp + 0x20], esi
cmp esi, 0x6a1d
jl 0x430aec
cmp dword [esp + 0x24], 0x4bf7
jge 0x430b89
push 0xac0ac0
call fcn.004f967e
pop ecx
push 2
pop eax
push 3
pop esi
xor ecx, ecx
mov dword [esp + 0x64], eax
inc ecx
mov dword [esp + 0x58], ecx
push 4
mov dword [esp + 0x34], 0x9191d4d0
mov dword [esp + 0x24], 0x60ae
pop edx
mov dword [esp + 0x54], 0x1a52
cmp dword [esp + 0x54], 0x4a1
push 7
mov dword [esp + 0x5c], esi
pop edi
jge 0x430eaa
movdqa xmm0, xmmword [0xacc510]
movdqu xmmword [esp + 0x880], xmm0
push 5
movdqa xmm0, xmmword [0xacc540]
movdqu xmmword [esp + 0x894], xmm0
mov dword [esp + 0x6f4], eax
movdqa xmm0, xmmword [0xacc550]
mov dword [esp + 0x6f0], eax
mov dword [esp + 0x6ec], eax
pop eax
movdqu xmmword [esp + 0x8a0], xmm0
push 6
movdqa xmm0, xmmword [0xacc510]
movdqu xmmword [esp + 0x8b4], xmm0
mov dword [esp + 0x71c], eax
movdqa xmm0, xmmword [0xacc520]
mov dword [esp + 0x718], eax
mov dword [esp + 0x714], eax
mov dword [esp + 0x710], eax
pop eax
movdqu xmmword [esp + 0x8c0], xmm0
push ebx
movdqa xmm0, xmmword [0xacc540]
mov dword [esp + 0x6e8], ecx
mov dword [esp + 0x6e4], ecx
mov dword [esp + 0x6e0], ecx
lea ecx, [esp + 0x1a4]
push ebx
mov dword [esp + 0x6e0], ebx
mov dword [esp + 0x6dc], ebx
mov dword [esp + 0x6d8], ebx
mov dword [esp + 0x704], esi
mov dword [esp + 0x700], esi
mov dword [esp + 0x6fc], esi
mov dword [esp + 0x710], edx
mov dword [esp + 0x70c], edx
mov dword [esp + 0x708], edx
mov dword [esp + 0x72c], eax
mov dword [esp + 0x728], eax
mov dword [esp + 0x724], eax
mov dword [esp + 0x73c], edi
mov dword [esp + 0x738], edi
mov dword [esp + 0x734], edi
mov dword [esp + 0x730], edi
movdqu xmmword [esp + 0x8d8], xmm0
mov dword [esp + 0x8e8], esi
mov dword [esp + 0x8ec], edx
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], ebx
call fcn.0040160a
lea eax, [esp + 0x2c4]
mov esi, 0xad3ec0
push eax
mov ecx, esi
call fcn.0044137b
mov edi, dword [esp + 0x2c4]
test edi, edi
je 0x430e91
lea eax, [esp + 0x3cc]
dec edi
push eax
push ecx
lea eax, [esp + 0x1f0]
mov ecx, esi
push eax
call fcn.0044137b
pop ecx
mov ecx, eax
call fcn.0044137b
lea edx, [esp + 0x1a0]
mov ecx, esi
call fcn.004460ea
lea edx, [esp + 0x1a0]
mov ecx, esi
call fcn.004460ea
xor edx, edx
or esi, 0xffffffff
cmp dword [esp + 0x1b0], edx
jle 0x430e6f
cmp dword [esp + 0x1b4], 0x10
lea eax, [esp + 0x1a0]
cmovae eax, dword [esp + 0x1a0]
cmp byte [eax + edx], 0x20
jne 0x430db4
add ebx, dword [esp + 0x1e8]
or esi, 0xffffffff
jmp 0x430e61
cmp esi, 0xffffffff
je 0x430e17
cmp dword [esp + 0x1b4], 0x10
lea eax, [esp + 0x1a0]
cmovae eax, dword [esp + 0x1a0]
movsx ecx, byte [eax + edx]
mov eax, dword [esp + esi*4 + 0x6d0]
cmp eax, dword [esp + ecx*4 + 0x5cc]
jne 0x430e17
cmp dword [esp + 0x1b4], 0x10
lea eax, [esp + 0x1a0]
cmovae eax, dword [esp + 0x1a0]
movsx eax, byte [eax + edx]
mov eax, dword [esp + eax*4 + 0x77c]
imul eax, dword [esp + 0x1e8]
add eax, dword [esp + 0x3cc]
jmp 0x430e41
cmp dword [esp + 0x1b4], 0x10
lea eax, [esp + 0x1a0]
cmovae eax, dword [esp + 0x1a0]
movsx eax, byte [eax + edx]
mov eax, dword [esp + eax*4 + 0x77c]
imul eax, dword [esp + 0x1e8]
add ebx, eax
cmp dword [esp + 0x1b4], 0x10
lea eax, [esp + 0x1a0]
cmovae eax, dword [esp + 0x1a0]
movsx esi, byte [eax + edx]
sub esi, 0x41
inc edx
cmp edx, dword [esp + 0x1b0]
jl 0x430d88
push ebx
mov ecx, 0xad3d78
call fcn.00441b73
push eax
call fcn.00446111
mov esi, 0xad3ec0
pop ecx
push 0
pop ebx
test edi, edi
jne 0x430d39
xor eax, eax
lea ecx, [esp + 0x1a0]
push ebx
inc eax
dec edi
push eax
mov dword [esp + 0x2cc], edi
call fcn.0040160a
cmp dword [esp + 0x20], 0x61ba
jle 0x43106f
mov dword [esp + 0x54], 0x1780
cmp dword [esp + 0x54], 0x9e2
jge 0x430f44
lea eax, [esp + 0x2cc]
push eax
push 0xac0ab4
call fcn.004f9f6f
xor eax, eax
mov dword [esp + 0x25c], ebx
mov edi, eax
mov esi, eax
mov eax, dword [esp + 0x2d4]
pop ecx
pop ecx
test eax, eax
jle 0x430f1d
lea eax, [esp + 0x254]
push eax
push 0xac0ab4
call fcn.004f9f6f
add ebx, dword [esp + 0x25c]
inc esi
mov eax, dword [esp + 0x2d4]
pop ecx
pop ecx
cmp esi, eax
jl 0x430ef6
xor ecx, ecx
lea esi, [eax + 1]
inc ecx
lea eax, [ecx + ebx]
cdq
idiv esi
xor eax, eax
inc eax
cmp edx, eax
je 0x430f31
inc edi
inc ecx
cmp ecx, 5
jle 0x430f23
push edi
push 0xac0b2c
call fcn.004f967e
pop ecx
pop ecx
xor ebx, ebx
push ebx
push ebx
push ebx
call dword [0x1efd0a0]
mov esi, dword [esp + 0x24]
mov eax, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x4c], ebx
and dword [esp + 0x54], 0
mov ecx, ebx
mov ebx, dword [esp + 0x54]
shl eax, cl
mov dword [esp + 0x10], eax
mov dword [esp + 0x54], 0x14e9
cmp dword [esp + 0x54], 0xdf7
jge 0x431010
push 0xd80e58
push 0xd1f3c4
push 0xac0b30
call fcn.004f9f6f
add esp, 0xc
push 0xad4fc0
push 0xac0b38
call fcn.004f9f6f
mov eax, dword [0xd80e58]
pop ecx
pop ecx
xor ecx, ecx
mov byte [eax + 0xd80e60], cl
cdq
sub eax, edx
mov edx, ecx
sar eax, 1
mov edi, eax
cmp dword [0xd1f3c4], ecx
jle 0x430fff
mov ecx, 0xd80e60
cmp byte [edx + 0xad4fc0], 0x28
jne 0x430fe4
test eax, eax
jle 0x430fe1
mov byte [ecx], 0x28
inc ecx
inc esi
dec eax
jmp 0x430ff2
test edi, edi
jle 0x430ff1
test esi, esi
jle 0x430ff1
mov byte [ecx], 0x29
inc ecx
dec esi
dec edi
inc edx
cmp edx, dword [0xd1f3c4]
jl 0x430fcf
mov dword [esp + 0x24], esi
push 0xd80e60
push 0xac0b3c
call fcn.004f967e
pop ecx
pop ecx
mov esi, dword [esp + 0x10]
xor edi, edi
mov eax, edi
mov ecx, 0xad3d78
and eax, ebx
xor eax, esi
cdq
push edx
push eax
call fcn.0042cb49
inc edi
cmp edi, 0x3799
jl 0x431016
mov esi, dword [esp + 0x24]
inc ebx
cmp ebx, 0x6338
jl 0x430f6e
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x4c], ebx
cmp ebx, 0x463e
jl 0x430f5d
inc eax
mov dword [esp + 0x1c], eax
push 0
pop ebx
cmp eax, 0x58f8
jl 0x430f59
mov dword [esp + 0x70], 0xfe53505c
cmp dword [esp + 0x20], 0x5e55
jge 0x431090
mov edx, 0xac0b0c
mov ecx, 0xad3d78
call fcn.0042f475
push 3
pop esi
mov dword [esp + 0x54], 0xf55f5dd
lea ecx, [esp + 0x5e0]
push esi
call fcn.0042ce8d
xor ebx, ebx
mov dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0x34], ebx
jmp 0x4310cb
mov eax, dword [esp + 0x34]
mov dword [esp + eax*4 + 0xb8c], 0x57f451d5
inc dword [esp + 0x34]
cmp dword [esp + 0x34], esi
jl 0x4310b8
mov dword [esp + 0x34], ebx
jmp 0x4310ed
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x5e0]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [esp + 0x34]
cmp dword [esp + 0x34], esi
jl 0x4310d7
mov ecx, dword [esp + 0x5e0]
xor eax, eax
inc eax
mov edx, 0xffff
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
cmp edx, eax
sbb eax, eax
neg eax
sub eax, dword [ecx + 8]
lea ecx, [esp + 0x5e0]
mov dword [esp + 0x10], eax
call fcn.0042d79d
xor ecx, ecx
mov dword [esp + 0x1c], ebx
inc ecx
jmp 0x431142
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0xa4], 0xd313dd33
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x43112f
mov dword [esp + 0xa4], 0xffffffff
jmp 0x431352
mov dword [esp + 0x24], ebx
mov dword [esp + 0x54], 0x248f
cmp dword [esp + 0x54], 0x9f8
jge 0x4311b0
lea eax, [esp + 0x2d4]
push eax
lea eax, [esp + 0x3b8]
push eax
push 0xac0b40
call fcn.004f9f6f
mov eax, dword [esp + 0x3c0]
add esp, 0xc
cdq
idiv dword [esp + 0x2d4]
inc eax
imul eax, dword [esp + 0x2d4]
push eax
push 0xac0b4c
call fcn.004f967e
pop ecx
pop ecx
mov dword [esp + 0x54], 0x735e4b78
mov dword [esp + 0x20], 0x5a9
cmp dword [esp + 0x20], 0x5be
jle 0x431308
mov dword [esp + 0x54], 0x1590
cmp dword [esp + 0x54], 0xd21
jge 0x4312a0
lea eax, [esp + 0x100]
push eax
push 0xac0ab4
call fcn.004f9f6f
mov eax, dword [esp + 0x108]
pop ecx
pop ecx
test eax, eax
je 0x431298
push 2
pop ebx
dec eax
mov dword [esp + 0x100], eax
lea eax, [esp + 0x304]
push eax
push 0xac0ab4
call fcn.004f9f6f
pop ecx
pop ecx
mov ecx, dword [esp + 0x304]
mov esi, ebx
mov eax, ecx
mov edi, ecx
cdq
sub eax, edx
sar eax, 1
cmp eax, ebx
jl 0x43126b
mov eax, ecx
cdq
idiv esi
test edx, edx
jne 0x431261
mov eax, edi
cdq
idiv esi
mov edi, eax
mov eax, ecx
cdq
idiv esi
mov ecx, eax
cdq
idiv esi
test edx, edx
je 0x43124c
mov dword [esp + 0x304], ecx
mov eax, ecx
inc esi
cdq
idiv esi
cmp esi, eax
jle 0x43123c
xor eax, eax
inc eax
cmp ecx, eax
jle 0x431279
mov eax, edi
cdq
idiv ecx
mov edi, eax
inc edi
push edi
push 0xac0b2c
call fcn.004f967e
mov eax, dword [esp + 0x108]
pop ecx
pop ecx
test eax, eax
jne 0x43120a
xor ebx, ebx
dec eax
mov dword [esp + 0x100], eax
push ebx
push ebx
push ebx
call dword [0x1efd3d8]
mov edi, ebx
mov dword [esp + 0x4c], 0x65e2
xor esi, esi
mov eax, ebx
lea ecx, [esp + 0xb5c]
xor eax, esi
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4312d2
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xb5c]
push 0
inc eax
push eax
call fcn.0040160a
inc esi
cmp esi, 0x6eb6
jl 0x4312b5
add ebx, edi
dec dword [esp + 0x4c]
jne 0x4312b3
inc edi
push 0
pop ebx
cmp edi, 0x3e10
jl 0x4312ab
mov dword [esp + 0x54], 0x644accb2
cmp dword [esp + 0x20], 0x2ba
jge 0x431325
push 0xac0b54
call fcn.004f967e
pop ecx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x24], 0xd8a94b2a
mov eax, dword [esp + 0xa4]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
mov dword [esp + 0x54], ecx
dec dword [esp + 0xa4]
cmp dword [esp + 0xa4], 0xffffffed
jl 0x431158
mov dword [esp + 0x2c], 0x2be2
cmp dword [esp + 0x2c], 0x2f76
jle 0x4315cf
xor eax, eax
mov edi, eax
mov esi, eax
mov eax, edi
lea ecx, [esp + 0xb44]
cdq
idiv esi
and edx, ebx
mov eax, edx
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x43139e
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xb44]
push 0
inc eax
push eax
call fcn.0040160a
inc esi
cmp esi, 0x7032
jl 0x43137c
inc edi
push 0
pop eax
cmp edi, 0x6ace
jl 0x43137a
inc ebx
cmp ebx, 0xd32
jl 0x431376
mov dword [esp + 0x54], 0x1848
cmp dword [esp + 0x54], 0xf96
jge 0x4315be
lea eax, [esp + 0x540]
push eax
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0x568]
push eax
push 0xac0bb8
call fcn.004f9f6f
mov ecx, dword [esp + 0x550]
xor eax, eax
mov edi, dword [esp + 0x574]
inc eax
mov esi, dword [esp + 0x570]
xor edx, edx
add esp, 0x10
mov dword [esp + 0x18], edx
mov ebx, eax
cmp ecx, eax
mov eax, dword [esp + 0x544]
jne 0x431443
cmp eax, edx
je 0x431542
cmp eax, edi
jg 0x431542
jl 0x431455
cmp ecx, esi
ja 0x431542
cmp ecx, esi
jne 0x4314e6
cmp eax, edi
jne 0x4314e6
xor eax, eax
inc eax
add esi, eax
push edx
push 2
adc edi, edx
push edi
push esi
call fcn.00512730
mov ecx, edx
mov dword [esp + 0x10], eax
xor edx, edx
mov dword [esp + 0x54], ecx
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
cmp ecx, edx
jl 0x4315af
jg 0x43149d
cmp eax, edx
jbe 0x4315af
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
push dword [esp + 0xdc]
push dword [esp + 0xdc]
push edx
push ebx
call fcn.004fdd80
push 0
push 0x29
push edx
push eax
call fcn.005127e0
mov ebx, eax
xor eax, eax
inc eax
add esi, eax
adc edi, 0
cmp edi, dword [esp + 0x54]
jl 0x4314a5
jg 0x4315af
cmp esi, dword [esp + 0x10]
jb 0x4314a5
jmp 0x4315af
push edx
push 2
push eax
push ecx
call fcn.005127e0
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x43152e
test edx, edx
jne 0x43152e
push dword [esp + 0xdc]
push dword [esp + 0xdc]
push dword [esp + 0xe4]
push dword [esp + 0xe4]
call fcn.004fdd80
push 0
push 0x29
push edx
push eax
call fcn.005127e0
mov ebx, eax
jmp 0x4315af
or eax, edx
jne 0x4315ab
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
jmp 0x4315af
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
cmp edi, edx
jl 0x4315af
jg 0x431555
cmp esi, edx
jbe 0x4315af
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
push dword [esp + 0xdc]
push dword [esp + 0xdc]
push edx
push ebx
call fcn.004fdd80
push 0
push 0x29
push edx
push eax
call fcn.005127e0
xor ecx, ecx
mov ebx, eax
mov eax, dword [esp + 0x4c]
inc ecx
add eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
adc ecx, 0
mov dword [esp + 0x20], ecx
cmp ecx, edi
jl 0x431565
jg 0x4315af
cmp eax, esi
jb 0x431565
jmp 0x4315af
mov edx, dword [esp + 0x18]
push edx
push ebx
push 0xac0bc8
call fcn.004f967e
add esp, 0xc
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0x1efd014]
mov dword [esp + 0x1c], 0x7bc75286
mov edi, 0xac0c10
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x44], 0x4d2ad05b
mov dword [esp + 0x54], 0x240c41ab
mov eax, dword [esp + 0x1c]
push 0x1a
pop esi
add eax, 0x39b642c
je 0x431b71
mov dword [esp + 0x14], 0x73b
cmp dword [esp + 0x14], 0xa2b
jle 0x4317c8
mov ecx, ebx
mov dword [esp + 0x24], ebx
mov eax, ebx
mov dword [esp + 0x18], ebx
mov esi, ecx
mov dword [esp + 0x20], ebx
mov ecx, eax
sar esi, cl
mov dword [esp + 0x10], esi
xor esi, esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], 0x1bbf
cmp dword [esp + 0x54], 0x10d1
jge 0x431760
lea eax, [esp + 0x90]
push eax
push 0xac0ab8
call fcn.004f9f6f
mov eax, dword [esp + 0x98]
pop ecx
pop ecx
and eax, 0x80000001
jns 0x431689
dec eax
or eax, 0xfffffffe
inc eax
je 0x431754
push edi
call fcn.004fae88
mov eax, dword [esp + 0x94]
pop ecx
add eax, eax
lea ecx, [esp + 0x76c]
push eax
call fcn.0042ce8d
mov eax, dword [esp + 0x90]
xor edx, edx
mov edi, dword [esp + 0x76c]
test eax, eax
jle 0x43170d
push 2
pop ebx
mov esi, ebx
mov eax, edx
and eax, 0x80000001
jns 0x4316d3
dec eax
or eax, 0xfffffffe
inc eax
je 0x4316e9
mov dword [edi + edx*4], esi
lea ecx, [esi - 1]
mov eax, dword [esp + 0x90]
add eax, edx
mov dword [edi + eax*4], ecx
jmp 0x4316fb
lea eax, [esi - 1]
mov dword [edi + edx*4], eax
mov eax, dword [esp + 0x90]
add eax, edx
mov dword [edi + eax*4], esi
mov eax, dword [esp + 0x90]
inc edx
add esi, ebx
cmp edx, eax
jl 0x4316c5
mov ebx, dword [esp + 0x20]
add eax, eax
xor esi, esi
test eax, eax
jle 0x431732
push dword [edi + esi*4]
push 0xac0c14
call fcn.004f967e
mov eax, dword [esp + 0x98]
inc esi
add eax, eax
pop ecx
pop ecx
cmp esi, eax
jl 0x431715
push 0xabec31
call fcn.004fae88
pop ecx
lea ecx, [esp + 0x76c]
call fcn.0042d79d
mov esi, dword [esp + 0x4c]
mov edi, 0xac0c10
jmp 0x431760
mov eax, 0xac0c1c
push eax
call fcn.004fae88
pop ecx
mov ecx, esi
mov eax, ebx
sar eax, cl
mov ecx, 0xad3d78
and eax, dword [esp + 0x10]
cdq
push edx
push eax
call fcn.0042cb49
inc esi
mov dword [esp + 0x4c], esi
cmp esi, 0x52fc
jl 0x43164c
inc ebx
mov dword [esp + 0x20], ebx
cmp ebx, 0x2722
jl 0x431646
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x18], eax
push 0
pop ebx
cmp eax, 0x239c
jl 0x431638
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0x322c
jl 0x431632
push 0x1a
pop esi
mov dword [esp + 0x18], 0xe00fe1ca
cmp dword [esp + 0x14], 0x40e
jge 0x4317e9
mov edx, 0xac0bd0
mov ecx, 0xad3d78
call fcn.0042f475
cmp dword [esp + 0x18], ebx
je 0x431b53
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], esi
jge 0x431bdc
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x431816
push ebx
push ebx
push ebx
push ebx
call dword [0x1efd2a0]
mov byte [esp + 0x2b], bl
mov dword [esp + 0x44], 0x1386
cmp dword [esp + 0x44], 0x176c
jle 0x431a2b
mov ecx, ebx
mov dword [esp + 0x14], ebx
mov eax, ebx
mov dword [esp + 0x60], ebx
mov edx, ecx
mov esi, ebx
mov ecx, eax
mov dword [esp + 0x24], esi
sar edx, cl
mov dword [esp + 0x50], edx
mov eax, edx
mov dword [esp + 0x54], 0x1863
xor eax, esi
cmp dword [esp + 0x54], 0x124d
cdq
mov ecx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], ecx
jge 0x4319e1
lea eax, [esp + 0x1f0]
push eax
push 0xac0ab8
call fcn.004f9f6f
pop ecx
pop ecx
push dword [esp + 0x1f0]
lea ecx, [esp + 0x4e4]
call fcn.0042ce8d
mov edx, dword [esp + 0x1f0]
test edx, edx
jle 0x4318cc
mov edi, dword [esp + 0x4e0]
push 4
pop esi
push edi
push 0xac0ab8
call fcn.004f9f6f
mov edx, dword [esp + 0x1f8]
inc ebx
pop ecx
add edi, esi
pop ecx
cmp ebx, edx
jl 0x4318ad
mov esi, dword [esp + 0x24]
xor bl, bl
test edx, edx
jle 0x43193e
xor eax, eax
mov dword [esp + 0x6c], edx
mov ecx, edx
lea esi, [eax + 1]
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x20], eax
mov edi, esi
cmp esi, edx
jge 0x431925
mov eax, dword [eax]
mov esi, eax
mov dword [esp + 0x54], eax
xor eax, eax
movzx ecx, bl
mov ebx, dword [esp + 0x4e0]
inc eax
sub eax, ecx
cmp esi, dword [ebx + edi*4]
cmovl eax, ecx
test eax, eax
setne bl
inc edi
cmp edi, edx
jl 0x4318fa
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
push 4
pop edi
inc esi
add eax, edi
dec ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x6c], ecx
jne 0x4318ec
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x118]
push eax
push 0xac0ab8
call fcn.004f9f6f
pop ecx
jmp 0x4319b7
dec eax
mov dword [esp + 0x118], eax
lea eax, [esp + 0x3d0]
push eax
lea eax, [esp + 0x464]
push eax
push 0xac0c68
call fcn.004f9f6f
mov eax, dword [esp + 0x3dc]
add esp, 0xc
sub eax, dword [esp + 0x460]
inc eax
and eax, 0x80000003
jns 0x431993
dec eax
or eax, 0xfffffffc
inc eax
xor ecx, ecx
inc ecx
cmp eax, ecx
jle 0x4319a2
movzx eax, bl
sub ecx, eax
setne bl
test bl, bl
mov ecx, 0xac0c74
mov eax, 0xac0c70
cmove eax, ecx
push eax
call fcn.004fae88
mov eax, dword [esp + 0x11c]
pop ecx
test eax, eax
jne 0x431953
dec eax
lea ecx, [esp + 0x4e0]
mov dword [esp + 0x118], eax
call fcn.0042d79d
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov ecx, dword [esp + 0x30]
push ecx
push eax
mov ecx, 0xad3d78
call fcn.0042cb49
mov edx, dword [esp + 0x50]
inc esi
mov dword [esp + 0x24], esi
cmp esi, 0x700f
jl 0x43184c
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x60], eax
cmp eax, 0xd77
jl 0x43183c
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x6384
jl 0x431836
mov dword [esp + 0x54], 0x174b
cmp dword [esp + 0x54], 0x118b
jge 0x431b13
xor eax, eax
mov edx, 0xcd5fd2
inc eax
mov ecx, 0xcd5fa0
mov byte [esp + 0x9b], al
lea eax, [esp + 0x9b]
push eax
call fcn.00446143
pop ecx
push 2
pop eax
mov edx, 0xc2aca0
cmp byte [eax + 0xcd5fa0], 0
je 0x431a94
push 4
pop ecx
mov dword [edx], eax
add edx, ecx
cmp eax, 0x32
jge 0x431a94
mov ecx, eax
imul ecx, eax
jmp 0x431a8f
mov byte [ecx + 0xcd5fa0], bl
add ecx, eax
cmp ecx, 0x32
jl 0x431a87
inc eax
cmp eax, 0x32
jl 0x431a6b
jmp 0x431af4
push 0x32
mov ecx, ebx
pop edi
mov eax, edi
sub eax, ecx
inc eax
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, dword [eax*4 + 0xc2aca0]
cmp esi, edx
jg 0x431ac1
jge 0x431abf
lea edi, [eax - 1]
jmp 0x431ac3
mov edi, eax
mov ecx, eax
cmp ecx, edi
jne 0x431aa1
mov edx, dword [ecx*4 + 0xc2aca0]
cmp esi, edx
jne 0x431ade
push 0xac0c7c
call fcn.004f967e
jmp 0x431af3
mov eax, dword [ecx*4 + 0xc2aca4]
sub eax, edx
push eax
push 0xac0b2c
call fcn.004f967e
pop ecx
pop ecx
lea eax, [esp + 0x1b8]
push eax
push 0xac0ab4
call fcn.004f9f6f
mov esi, dword [esp + 0x1c0]
pop ecx
pop ecx
test esi, esi
jne 0x431a9c
cmp byte [esp + 0x2b], 0
je 0x431b24
push ebx
push ebx
push ebx
push ebx
call dword [0x1efd078]
cmp dword [esp + 0x44], 0x12a9
jge 0x431b3d
mov edx, 0xac0c20
mov ecx, 0xad3d78
call fcn.0042f475
inc dword [esp + 0x18]
push 0x1a
pop eax
cmp dword [esp + 0x18], eax
jl 0x431801
jmp 0x431bdc
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x431b67
push ebx
push ebx
push ebx
call dword [0x1efd43c]
mov dword [esp + 0x18], 0x4185a1fa
jmp 0x431bdc
mov dword [esp + 0x44], 0x6f3
cmp dword [esp + 0x44], 0x9eb
jle 0x431ba8
mov esi, ebx
mov edi, esi
mov ebx, 0x443f
mov eax, edi
mov ecx, 0xad3d78
cdq
push edx
push eax
call fcn.0042cb49
dec edi
dec ebx
jne 0x431b8c
inc esi
cmp esi, 0x103f
jl 0x431b85
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x431bc3
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0x1efd418]
cmp dword [esp + 0x44], 0x4fd
jge 0x431bdc
mov edx, 0xac0c80
mov ecx, 0xad3d78
call fcn.0042f475
xor eax, eax
inc eax
cmp dword [esp + 0x34], eax
jge 0x431be9
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x5c]
imul ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x44], eax
neg ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0x38d9
setg dl
xor ecx, ecx
add edx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
cmp edx, eax
setle cl
mov dword [esp + 0x44], ecx
cmp dword [esp + 0x44], ebx
je 0x431c4d
cmp dword [esp + 0x1c], ebx
je 0x431c4d
xor eax, eax
inc eax
jmp 0x431c4f
mov eax, ebx
mov dword [esp + 0x54], eax
cmp dword [esp + 0x2c], 0x2aee
jge 0x431c68
push 0xac0b94
call fcn.004f967e
pop ecx
cmp byte [esp + 0x81], 0
mov eax, dword [ebp + 8]
mov ecx, dword [0x516a3c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x7c], 0xa
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [esp + 0x38], 0x21
je 0x43396f
xor eax, eax
inc eax
cmp ecx, eax
jne 0x43396f
mov dword [esp + 0x2c], 0x6c50
cmp dword [esp + 0x2c], 0x6d8d
jle 0x431d06
mov esi, ebx
mov edi, ebx
mov ebx, 0x2c03
mov eax, edi
lea ecx, [esp + 0x91c]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x431cdf
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x91c]
push 0
inc eax
push eax
call fcn.0040160a
add edi, esi
dec ebx
jne 0x431cc4
inc esi
cmp esi, 0x2d6d
jl 0x431cbd
mov dword [esp + 0x14], 2
cmp dword [esp + 0x2c], 0x69da
jge 0x431d23
push 0xac0cc4
call fcn.004f967e
pop ecx
mov dword [esp + 0x10], 0x1a62
cmp dword [esp + 0x10], 0xfd8
jge 0x431e5e
lea eax, [esp + 0x3e8]
push eax
push ecx
lea eax, [esp + 0x490]
mov ecx, 0xad3ec0
push eax
call fcn.004414ba
pop ecx
mov ecx, eax
call fcn.004414ba
mov esi, dword [esp + 0x3e8]
lea ecx, [esp + 0x4d0]
call fcn.00441eb7
jmp 0x431da5
mov ecx, esi
and ecx, 0x80000001
jns 0x431d80
dec ecx
or ecx, 0xfffffffe
inc ecx
lea eax, [esp + 0x97]
setne byte [esp + 0x97]
push eax
lea ecx, [esp + 0x4d4]
call fcn.00441f2c
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
test esi, esi
jg 0x431d71
cmp dword [esp + 0x4dc], 0
mov esi, ebx
movsd xmm2, qword [0xacc4b0]
movsd xmm1, qword [0xacc4a0]
jbe 0x431df6
mov edi, dword [esp + 0x4d0]
xor eax, eax
mov edx, esi
mov ecx, esi
shr edx, 5
and ecx, 0x1f
inc eax
shl eax, cl
test dword [edi + edx*4], eax
je 0x431de4
mulsd xmm1, xmm2
inc esi
movapd xmm0, xmm2
mulsd xmm2, xmm0
cmp esi, dword [esp + 0x4dc]
jb 0x431dcc
mov eax, dword [0xad3d78]
mov esi, 0xad3d78
movd xmm0, dword [esp + 0x488]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 4]
mov dword [eax + esi + 0x18], 0xf
mov dword [eax + esi + 0x1c], ebx
mov eax, dword [0xad3d78]
mulsd xmm0, xmm1
mov eax, dword [eax + 4]
add eax, esi
push eax
movsd qword [esp + 0x74], xmm0
call fcn.0043062d
movsd xmm1, qword [esp + 0x74]
pop ecx
mov ecx, esi
call fcn.00441d97
push eax
call fcn.00446111
pop ecx
lea ecx, [esp + 0x4d0]
mov dword [esp + 0x4dc], ebx
call fcn.0042d79d
mov dword [esp + 0x44], 0x548b
cmp dword [esp + 0x44], 0x54a9
jle 0x4322ce
mov dword [esp + 0x10], 0x196f
cmp dword [esp + 0x10], 0x55d
jge 0x4322a4
call fcn.004f9e93
push eax
push 0xac0d04
push 0xac0d08
call fcn.004fae41
add esp, 0xc
call fcn.004f9e93
add eax, 0x20
push eax
push 0xac0d14
push 0xac0d18
call fcn.004fae41
add esp, 0xc
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x8c]
push eax
push 0xac0c68
call fcn.004f9f6f
add esp, 0xc
mov dword [esp + 0x400], ebx
lea eax, [esp + 0x400]
lea ecx, [esp + 0x7fc]
push eax
mov eax, dword [esp + 0x90]
inc eax
push eax
call fcn.004420ce
push eax
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x788]
inc eax
push eax
call fcn.004423a8
lea ecx, [esp + 0x7fc]
call fcn.0042d79d
lea eax, [esp + 0x408]
mov dword [esp + 0x408], ebx
push eax
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x818]
inc eax
push eax
call fcn.004420ce
push eax
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x5f0]
inc eax
push eax
call fcn.004423a8
lea ecx, [esp + 0x814]
call fcn.0042d79d
lea eax, [esp + 0x440]
mov dword [esp + 0x440], ebx
push eax
push 3
pop eax
push eax
lea ecx, [esp + 0x32c]
mov dword [esp + 0x32c], ebx
mov dword [esp + 0x330], ebx
mov dword [esp + 0x334], ebx
call fcn.004433bb
mov edx, dword [esp + 0x88]
xor eax, eax
inc eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x5ec]
mov esi, eax
mov dword [esp + 0x2c], esi
cmp edx, eax
jl 0x43203d
mov eax, dword [esp + 0x784]
lea edi, [ebx + 0xc]
mov ecx, dword [esp + 0x8c]
sub eax, ebx
mov dword [esp + 0x24], eax
xor ebx, ebx
inc ebx
cmp ecx, ebx
jl 0x43202a
mov eax, dword [eax + edi]
mov esi, ebx
shl esi, 2
add eax, esi
push eax
push 0xac0ab8
call fcn.004f9f6f
mov eax, dword [esp + 0x2c]
mov edx, dword [edi - 0xc]
pop ecx
pop ecx
mov eax, dword [eax + edi]
mov ecx, dword [edi]
mov eax, dword [esi + eax]
sub eax, dword [esi + edx - 4]
add eax, dword [esi + ecx - 4]
add eax, dword [esi + edx]
inc ebx
mov dword [esi + ecx], eax
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x24]
cmp ebx, ecx
jle 0x431fdb
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x2c]
inc esi
add edi, 0xc
mov dword [esp + 0x2c], esi
cmp esi, edx
jle 0x431fd4
mov ebx, dword [esp + 0x5ec]
mov edi, dword [esp + 0x324]
lea eax, [edi + 8]
push eax
lea eax, [edi + 4]
push eax
push edi
push 0xac0d24
call fcn.004f9f6f
push dword [esp + 0x338]
push edi
call fcn.0044616a
mov ecx, dword [esp + 0xa0]
xor eax, eax
inc eax
add esp, 0x18
cmp ecx, eax
jle 0x43216f
push 2
pop eax
lea esi, [ebx + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], eax
cmp eax, ecx
jge 0x432153
lea eax, [esi + 0xc]
mov dword [esp + 0x18], eax
push 3
pop eax
push eax
lea ecx, [esp + 0x514]
call fcn.0042ce8d
mov ecx, dword [esi]
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x510]
push dword [esp + 0x514]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x38]
mov dword [esi], eax
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx]
push esi
mov eax, dword [eax]
mov eax, dword [eax + edx*4]
sub eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x20]
mov dword [esi + 4], eax
imul eax, dword [esp + 0x90], 0xc
mov edx, dword [esp + 0x94]
mov ecx, dword [ecx]
mov eax, dword [eax + ebx]
mov eax, dword [eax + edx*4]
sub eax, dword [ecx + edx*4]
mov dword [esi + 8], eax
call fcn.0044616a
push edi
push dword [esp + 0x520]
push esi
call fcn.0044618e
add esp, 0x14
test al, al
je 0x432122
inc dword [esp + 0x1c]
lea ecx, [esp + 0x510]
call fcn.0042d79d
mov eax, dword [esp + 0x2c]
add dword [esp + 0x18], 0xc
inc eax
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
cmp eax, ecx
jl 0x43209a
mov eax, dword [esp + 0x24]
inc eax
add esi, 0xc
mov dword [esp + 0x24], eax
dec eax
cmp eax, ecx
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x24]
jl 0x432087
xor eax, eax
inc eax
mov ecx, dword [esp + 0x8c]
cmp ecx, eax
jle 0x43226e
push 4
pop eax
push 2
mov esi, eax
pop eax
push esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x38], eax
pop edx
mov dword [esp + 0x24], eax
cmp eax, ecx
jge 0x432256
push 3
pop eax
push eax
lea ecx, [esp + 0x4f0]
call fcn.0042ce8d
imul eax, dword [esp + 0x88], 0xc
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
push dword [esp + 0x4f0]
mov eax, dword [eax + ebx]
mov eax, dword [esi + eax]
mov esi, dword [esp + 0x4f0]
push esi
mov dword [esi], eax
imul eax, dword [esp + 0x90], 0xc
mov ecx, dword [eax + ebx]
mov eax, dword [ecx + edx*4]
sub eax, dword [ecx + edi]
mov dword [esi + 4], eax
imul eax, dword [esp + 0x90], 0xc
mov ecx, dword [eax + ebx]
mov eax, dword [esp + 0x94]
mov eax, dword [ecx + eax*4]
sub eax, dword [ecx + edx*4]
mov dword [esi + 8], eax
call fcn.0044616a
mov edi, dword [esp + 0x32c]
push edi
push dword [esp + 0x4fc]
push esi
call fcn.0044618e
add esp, 0x14
test al, al
je 0x432227
inc dword [esp + 0x1c]
lea ecx, [esp + 0x4ec]
call fcn.0042d79d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x8c]
inc eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x24], eax
cmp eax, ecx
jl 0x43219c
mov eax, dword [esp + 0x34]
push 4
pop edx
inc eax
add esi, edx
mov dword [esp + 0x34], eax
dec eax
cmp eax, ecx
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x34]
jl 0x432190
push dword [esp + 0x1c]
push 0xac0b4c
call fcn.004f967e
pop ecx
pop ecx
lea ecx, [esp + 0x324]
call fcn.0042d79d
lea ecx, [esp + 0x5ec]
call fcn.00443542
lea ecx, [esp + 0x784]
call fcn.00443542
xor ebx, ebx
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0xad3d78
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.0042cb49
inc edi
cmp edi, 0x6ada
jl 0x4322a8
inc esi
cmp esi, 0x3912
jl 0x4322a6
mov dword [esp + 0x10], 0x19d6
cmp dword [esp + 0x10], 0xc50
jge 0x43247a
push ebx
push ebx
lea ecx, [esp + 0x624]
mov dword [esp + 0x634], ebx
mov dword [esp + 0x638], ebx
call fcn.0040160a
push ebx
push ebx
lea ecx, [esp + 0x39c]
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x3b0], ebx
call fcn.0040160a
mov edi, 0xc2ad70
jmp 0x432442
push edi
lea ecx, [esp + 0x620]
call fcn.004412b7
lea eax, [esp + 0x61c]
push eax
lea ecx, [esp + 0x398]
call fcn.0042e08b
cmp dword [esp + 0x3a8], 0x10
lea eax, [esp + 0x7b4]
lea esi, [esp + 0x394]
cmovae esi, dword [esp + 0x394]
lea ecx, [esp + 0x394]
push eax
call fcn.0042d66c
push dword [eax]
push esi
call fcn.004461b5
push 0xac0d30
lea edx, [esp + 0x3a0]
lea ecx, [esp + 0xac0]
call fcn.004461d6
add esp, 0xc
lea ecx, [esp + 0x61c]
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
call fcn.0042d270
push eax
lea ecx, [esp + 0x83c]
call fcn.0042cb1b
lea eax, [esp + 0x838]
push eax
lea ecx, [esp + 0x398]
call fcn.0042d1fd
xor eax, eax
lea ecx, [esp + 0x838]
push ebx
inc eax
push eax
call fcn.0040160a
xor eax, eax
lea ecx, [esp + 0xab4]
push ebx
inc eax
push eax
call fcn.0040160a
sub esp, 0x18
lea eax, [esp + 0x3ac]
mov ecx, esp
push eax
call fcn.0042cae4
call fcn.004306a3
mov eax, dword [esp + 0x3bc]
mov esi, dword [esp + 0x644]
push edi
push 0xac0b38
sub esi, dword [eax*4 + 0xc2ae2c]
dec esi
call fcn.004f967e
add esp, 0x20
jmp 0x432435
movsx eax, byte [esi + 0xc2ad70]
push eax
call fcn.004fae7f
pop ecx
dec esi
jns 0x432427
push 0xa
pop eax
push eax
call fcn.004fae7f
pop ecx
push edi
push 0xac0b38
call fcn.004f9f6f
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x432326
xor eax, eax
lea ecx, [esp + 0x394]
push ebx
inc eax
push eax
call fcn.0040160a
xor eax, eax
lea ecx, [esp + 0x61c]
push ebx
inc eax
push eax
call fcn.0040160a
mov dword [esp + 0x18], 0xa9ac70c3
cmp dword [esp + 0x44], 0x5241
jge 0x43249b
mov edx, 0xac0ce0
mov ecx, 0xad3d78
call fcn.0042f475
mov dword [esp + 0x10], 0x1881
cmp dword [esp + 0x10], 0x93b
jge 0x432712
lea eax, [esp + 0x190]
push eax
lea eax, [esp + 0xe4]
push eax
push 0xac0d34
call fcn.004f9f6f
add esp, 0xc
mov byte [esp + 0x98], bl
lea eax, [esp + 0x98]
lea ecx, [esp + 0x75c]
push eax
mov eax, dword [esp + 0xe4]
inc eax
push eax
call fcn.00441ee1
lea eax, [esp + 0x9a]
mov byte [esp + 0x9a], bl
push eax
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x750]
inc eax
push eax
call fcn.00441ee1
push dword [esp + 0xe4]
xorps xmm0, xmm0
push dword [esp + 0xe4]
movlpd qword [esp + 0x78], xmm0
push dword [esp + 0xec]
movlpd qword [esp + 0x1a4], xmm0
push dword [esp + 0xec]
call fcn.004fdd80
mov esi, dword [esp + 0x190]
mov ebx, eax
mov edi, dword [esp + 0x194]
mov ecx, esi
or ecx, edi
mov dword [esp + 0x1c], edx
je 0x4326cb
mov eax, dword [esp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x790]
add esi, 0xffffffff
push eax
lea eax, [esp + 0x77c]
mov dword [esp + 0x194], esi
push eax
adc edi, 0xffffffff
push 0xac0d34
mov dword [esp + 0x1a0], edi
call fcn.004f9f6f
mov ecx, dword [esp + 0x784]
add esp, 0xc
mov edx, dword [esp + 0x75c]
mov eax, ecx
shr eax, 5
and ecx, 0x1f
lea edx, [edx + eax*4]
xor eax, eax
inc eax
shl eax, cl
test dword [edx], eax
jne 0x432634
xor eax, eax
mov dword [esp + 0x57c], ecx
inc eax
mov dword [esp + 0x578], edx
push eax
lea ecx, [esp + 0x57c]
call fcn.0044236e
mov edi, dword [esp + 0x24]
xor eax, eax
mov ecx, dword [esp + 0x18]
inc eax
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
adc edi, 0
sub ecx, dword [esp + 0xe0]
mov dword [esp + 0x24], edi
sbb eax, dword [esp + 0xe4]
add ebx, ecx
adc esi, eax
mov dword [esp + 0x1c], esi
jmp 0x43263c
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x790]
mov eax, ecx
mov edx, dword [esp + 0x74c]
and ecx, 0x1f
shr eax, 5
lea edx, [edx + eax*4]
xor eax, eax
inc eax
shl eax, cl
test dword [edx], eax
jne 0x4326a4
xor eax, eax
mov dword [esp + 0x56c], ecx
inc eax
mov dword [esp + 0x568], edx
push eax
lea ecx, [esp + 0x56c]
call fcn.0044236e
mov ecx, dword [esp + 0x20]
xor eax, eax
inc eax
add dword [esp + 0x18], eax
mov eax, edi
adc dword [esp + 0x34], 0
sub ecx, dword [esp + 0xe0]
sbb eax, dword [esp + 0xe4]
add ebx, ecx
adc esi, eax
mov dword [esp + 0x1c], esi
push esi
push ebx
push 0xac0d40
call fcn.004f967e
mov esi, dword [esp + 0x19c]
add esp, 0xc
mov edi, dword [esp + 0x194]
mov eax, esi
or eax, edi
jne 0x43258d
add esi, 0xffffffff
push 0xabec31
adc edi, 0xffffffff
mov dword [esp + 0x194], esi
mov dword [esp + 0x198], edi
call fcn.004fae88
pop ecx
xor ebx, ebx
lea ecx, [esp + 0x74c]
mov dword [esp + 0x758], ebx
call fcn.0042d79d
lea ecx, [esp + 0x75c]
mov dword [esp + 0x768], ebx
call fcn.0042d79d
push 3
mov dword [esp + 0x20], ebx
pop ecx
jmp 0x43272e
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x23c], 0xffffffff
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x43271b
mov eax, dword [esp + 0x14]
sub eax, 0xf949
push 2
mov dword [esp + 0x1c], eax
pop ebx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], 0
jl 0x432c16
imul edx, dword [esp + 0x18], 0xdc41
sub edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
cmp ecx, 0xffffffff
jl 0x43277f
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x23c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x23c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x23c]
xor eax, eax
inc eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x6c], 0x1412
cmp dword [esp + 0x6c], 0x150a
jle 0x432a8d
mov dword [esp + 0x10], 0x2274
cmp dword [esp + 0x10], 0xd25
jge 0x4328be
xor cl, cl
call fcn.00430583
lea eax, [esp + 0xb0]
mov ecx, 0xad3ec0
push eax
call fcn.004414ba
push dword [esp + 0xb0]
lea ecx, [esp + 0x7dc]
call fcn.0042ce8d
push dword [esp + 0xb0]
lea ecx, [esp + 0x608]
call fcn.0042ce8d
and dword [esp + 0x30], 0
cmp dword [esp + 0xb0], 0
mov ebx, dword [esp + 0x7d8]
mov esi, dword [esp + 0x604]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x50], esi
jle 0x432860
sub esi, ebx
mov edi, ebx
mov ebx, esi
mov esi, dword [esp + 0x30]
push edi
mov ecx, 0xad3ec0
call fcn.004414ba
mov eax, dword [edi]
inc esi
mov dword [ebx + edi], eax
push 4
pop eax
add edi, eax
cmp esi, dword [esp + 0xb0]
jl 0x432839
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x5c]
push dword [esp + 0x608]
push esi
call fcn.0044616a
pop ecx
pop ecx
mov ecx, dword [esp + 0xb0]
xor eax, eax
mov edi, eax
mov edx, eax
test ecx, ecx
jle 0x432894
sub ebx, esi
mov eax, dword [esi]
sub eax, dword [ebx + esi]
add edi, eax
jne 0x43288c
inc edx
push 4
pop eax
add esi, eax
dec ecx
jne 0x432882
push edx
mov ecx, 0xad3d78
call fcn.00441b73
push eax
call fcn.00446111
pop ecx
lea ecx, [esp + 0x604]
call fcn.0042d79d
lea ecx, [esp + 0x7d8]
call fcn.0042d79d
xor eax, eax
mov edi, eax
mov dword [esp + 0x60], edi
jmp 0x4328ca
xor eax, eax
mov esi, eax
mov dword [esp + 0x44], esi
jmp 0x4328d4
xor eax, eax
mov ebx, eax
mov dword [esp + 0x2c], eax
lea ecx, [ebx + esi]
mov dword [esp + 0x10], 0x16e6
mov eax, edi
sar eax, cl
cmp dword [esp + 0x10], 0x745
cdq
mov ecx, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], ecx
jge 0x432a26
lea eax, [esp + 0x25c]
mov ecx, 0xad3ec0
push eax
call fcn.0044137b
mov ebx, dword [esp + 0x25c]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x35c], eax
mov edi, eax
mov dword [esp + 0x354], edi
mov esi, eax
mov dword [esp + 0x358], esi
test ebx, ebx
jle 0x4329bc
mov esi, ebx
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x1ec]
mov ecx, 0xad3ec0
push eax
call fcn.004414ba
mov ecx, dword [esp + 0x1ec]
mov edx, ebx
call fcn.0043070d
xor ecx, ecx
inc ecx
cmp eax, ecx
jle 0x432989
lea eax, [esp + 0x418]
mov dword [esp + 0x418], ecx
push eax
lea ecx, [esp + 0x358]
call fcn.004420f0
lea eax, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x358]
call fcn.004420f0
mov ebx, dword [esp + 0x1ec]
dec esi
jne 0x432947
mov esi, dword [esp + 0x358]
mov edi, dword [esp + 0x354]
mov ebx, dword [esp + 0x25c]
sub esi, edi
mov ecx, 0xad3d78
sar esi, 2
mov eax, esi
sub eax, ebx
push eax
call fcn.00441c85
push eax
call fcn.00446111
xor ebx, ebx
pop ecx
test esi, esi
je 0x4329fb
push dword [edi + ebx*4]
mov ecx, 0xad3d78
call fcn.00441b73
mov edx, 0xac0d78
mov ecx, eax
call fcn.0042f475
inc ebx
cmp ebx, esi
jb 0x4329dd
push 0xad3d78
call fcn.00446111
pop ecx
lea ecx, [esp + 0x354]
call fcn.0042d79d
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
push ecx
push eax
lea ecx, [esp + 0x954]
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x432a3e
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x94c]
push 0
inc eax
push eax
call fcn.0040160a
inc ebx
mov dword [esp + 0x2c], ebx
cmp ebx, 0x5fa
jl 0x4328da
inc esi
mov dword [esp + 0x44], esi
cmp esi, 0x6f70
jl 0x4328d2
inc edi
mov dword [esp + 0x60], edi
cmp edi, 0x66f3
jl 0x4328c8
push 2
pop ebx
mov dword [esp + 0x10], 0x1c66
cmp dword [esp + 0x10], 0x791
jge 0x432b88
lea eax, [esp + 0x464]
push eax
lea eax, [esp + 0x440]
push eax
lea eax, [esp + 0x430]
push eax
push 0xac0d7c
call fcn.004f9f6f
xor eax, eax
mov edx, 0xffbd1d
inc eax
mov ecx, 0xffbc70
mov byte [esp + 0xac], al
lea eax, [esp + 0xac]
push eax
call fcn.00446143
mov esi, dword [esp + 0x450]
add esp, 0x14
mov byte [0xffbc71], 0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
call fcn.00513380
movapd xmm1, xmm0
mov eax, ebx
comisd xmm1, xmmword [0xacc4b8]
jb 0x432b47
cmp eax, 0xad
jg 0x432b47
cmp byte [eax + 0xffbc70], 0
je 0x432b38
mov ecx, eax
imul ecx, eax
jmp 0x432b34
mov byte [ecx + 0xffbc70], 0
add ecx, eax
cmp ecx, esi
jle 0x432b2b
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jae 0x432b14
mov ecx, dword [esp + 0x428]
xor edi, edi
jmp 0x432b77
cmp byte [ecx + 0xffbc70], 0
je 0x432b76
mov eax, ecx
test ecx, ecx
je 0x432b76
cdq
idiv dword [esp + 0x7c]
cmp edx, dword [esp + 0x464]
je 0x432b75
test eax, eax
jne 0x432b61
jmp 0x432b76
inc edi
inc ecx
cmp ecx, esi
jle 0x432b52
push edi
push 0xac0b2c
call fcn.004f967e
pop ecx
pop ecx
mov eax, dword [esp + 0x14]
xor edx, edx
cmp eax, 0xabf7
mov eax, dword [esp + 0x14]
setl dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x23c]
cmp edx, eax
mov eax, dword [esp + 0x23c]
setl cl
xor edx, edx
add eax, ecx
cmp eax, 0x6084
mov eax, dword [esp + 0x14]
setne dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x23c]
cmp eax, edx
mov eax, dword [esp + 0x14]
setne cl
mov eax, dword [esp + eax*4 + 0x23c]
sub eax, ecx
xor ecx, ecx
cmp eax, 0x18bd8502
setle cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x23c], ecx
cmp dword [esp + 0x6c], 0x109a
jge 0x432c0c
push 0xac0d48
call fcn.004f967e
pop ecx
dec dword [esp + 0x14]
jns 0x432753
mov dword [esp + 0x10], 0x1e70
cmp dword [esp + 0x10], 0x8e0
jge 0x432ce2
lea eax, [esp + 0xcc]
push eax
push 0xac0ab4
call fcn.004f9f6f
pop ecx
pop ecx
jmp 0x432cd3
xor edi, edi
test eax, eax
jle 0x432c70
lea esi, [esp + 0x1000]
push esi
push 0xac0ab4
call fcn.004f9f6f
pop ecx
pop ecx
push 4
pop eax
add esi, eax
inc edi
mov eax, dword [esp + 0xcc]
cmp edi, eax
jl 0x432c52
lea edx, [esp + 0x1000]
lea edx, [edx + eax*4]
lea ecx, [esp + 0x1000]
call fcn.00446248
mov eax, dword [esp + 0xcc]
add eax, 2
cdq
sub eax, edx
mov esi, eax
xor eax, eax
sar esi, 1
mov edi, eax
mov ecx, eax
test esi, esi
jle 0x432cb6
mov eax, dword [esp + ecx*4 + 0x1000]
add eax, ebx
cdq
sub eax, edx
sar eax, 1
add edi, eax
inc ecx
cmp ecx, esi
jl 0x432ca1
push edi
mov esi, 0xac0ab4
push esi
call fcn.004f967e
lea eax, [esp + 0xd4]
push eax
push esi
call fcn.004f9f6f
add esp, 0x10
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x432c45
mov dword [esp + 0x44], 0x1527
cmp dword [esp + 0x44], 0x16b0
jle 0x432d5f
xor eax, eax
mov edi, eax
mov dword [esp + 0x2c], eax
mov esi, eax
mov eax, edi
mov edi, 0x69bd
cdq
idiv esi
mov ebx, edx
mov eax, ebx
lea ecx, [esp + 0xacc]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x432d25
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xacc]
push 0
inc eax
push eax
call fcn.0040160a
dec ebx
dec edi
jne 0x432d0a
mov edi, dword [esp + 0x2c]
inc esi
cmp esi, 0xe54
jl 0x432cfe
inc edi
mov dword [esp + 0x2c], edi
push 0
pop eax
cmp edi, 0x1b72
jl 0x432cfc
mov dword [esp + 0x10], 0x2394
cmp dword [esp + 0x10], 0x5a8
jge 0x432e4e
xor cl, cl
call fcn.00430583
lea eax, [esp + 0x104]
mov ebx, 0xad3ec0
push eax
push ecx
lea eax, [esp + 0x1c4]
mov ecx, ebx
push eax
call fcn.004414ba
pop ecx
mov ecx, eax
call fcn.004414ba
mov esi, dword [esp + 0x1bc]
inc esi
jmp 0x432de9
dec eax
mov dword [esp + 0x104], eax
lea eax, [esp + 0x438]
push eax
push ecx
lea eax, [esp + 0x3b8]
mov ecx, ebx
push eax
call fcn.004414ba
pop ecx
mov ecx, eax
call fcn.004414ba
mov eax, dword [esp + 0x438]
sub eax, dword [esp + 0x3b0]
inc eax
cmp esi, eax
cmovl eax, esi
mov esi, eax
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x432dab
dec eax
mov ecx, 0xad3d78
push esi
mov dword [esp + 0x108], eax
call fcn.00441b73
push eax
call fcn.00446111
xor ebx, ebx
mov edi, ebx
pop ecx
cmp dword [esp + 0x1bc], ebx
jle 0x432e41
mov eax, edi
mov ecx, 0xad3d78
cdq
idiv esi
push edx
call fcn.00441b73
mov edx, 0xac0d78
mov ecx, eax
call fcn.0042f475
inc edi
cmp edi, dword [esp + 0x1bc]
jl 0x432e1b
push 0xad3d78
call fcn.00446111
pop ecx
jmp 0x432e50
xor ebx, ebx
cmp dword [esp + 0x44], 0x1516
mov eax, dword [ebp + 8]
push 4
pop ecx
mov dword [eax + 8], ecx
jge 0x432e6e
push 0xac0d88
call fcn.004f967e
pop ecx
mov dword [esp + 0x4c], 0x64ee
cmp dword [esp + 0x4c], 0x6776
jle 0x432ea7
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0xad3d78
and eax, esi
cdq
push edx
push eax
call fcn.0042cb49
inc edi
cmp edi, 0x43c7
jl 0x432e84
inc esi
cmp esi, 0x5ffb
jl 0x432e82
mov dword [esp + 0x2c], 0x3d4f
cmp dword [esp + 0x2c], 0x4035
jle 0x432f14
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [esi + edi]
add eax, ebx
lea ecx, [esp + 0x97c]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x432edd
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x97c]
push 0
inc eax
push eax
call fcn.0040160a
inc esi
cmp esi, 0x6393
jl 0x432ebf
inc edi
push 0
pop eax
cmp edi, 0x181f
jl 0x432ebd
inc ebx
cmp ebx, 0x561c
jl 0x432eb9
mov dword [esp + 0x10], 0x1d1e
cmp dword [esp + 0x10], 0xb90
jge 0x43300c
lea eax, [esp + 0x1f8]
push eax
push 0xac0ab8
call fcn.004f9f6f
pop ecx
pop ecx
lea eax, [esp + 0x9e]
xor ebx, ebx
push eax
mov eax, dword [esp + 0x1fc]
lea ecx, [esp + 0x740]
inc eax
mov byte [esp + 0xa2], bl
push eax
call fcn.00441ee1
mov eax, dword [esp + 0x1f8]
mov edi, ebx
add eax, eax
mov esi, ebx
test eax, eax
jle 0x432fe8
lea eax, [esp + 0x3bc]
push eax
push 0xac0ab8
call fcn.004f9f6f
mov edx, dword [esp + 0x744]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3bc]
mov eax, ecx
shr eax, 5
and ecx, 0x1f
mov dword [esp + 0x534], ecx
lea edx, [edx + eax*4]
xor eax, eax
inc eax
mov dword [esp + 0x530], edx
shl eax, cl
lea ecx, [esp + 0x530]
and eax, dword [edx]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
add edi, eax
cmp esi, edi
mov eax, edi
cmovg eax, esi
mov esi, eax
xor eax, eax
inc eax
push eax
call fcn.0044236e
mov eax, dword [esp + 0x1f8]
inc ebx
add eax, eax
cmp ebx, eax
jl 0x432f75
push esi
push 0xac0b4c
call fcn.004f967e
pop ecx
pop ecx
xor ebx, ebx
lea ecx, [esp + 0x73c]
mov dword [esp + 0x748], ebx
call fcn.0042d79d
jmp 0x43300e
xor ebx, ebx
cmp dword [esp + 0x2c], 0x3b06
jge 0x433023
push 0xac0e20
call fcn.004f967e
pop ecx
mov dword [esp + 0x10], 0x13a3
cmp dword [esp + 0x10], 0x11e7
jge 0x433125
lea eax, [esp + 0x128]
mov dword [esp + 0x2c8], ebx
push eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x2c0], ebx
push eax
lea eax, [esp + 0x2c4]
mov dword [esp + 0xb4], ebx
push eax
lea eax, [esp + 0x2d4]
mov dword [esp + 0x134], ebx
push eax
push 0xac0e68
call fcn.004f9f6f
mov eax, dword [esp + 0xc0]
add esp, 0x14
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004f51d1
cmp dword [esp + 0xb0], 0
mov esi, eax
pop ecx
mov eax, ebx
jle 0x4330b9
mov dword [esi + eax*4], ebx
inc eax
cmp eax, dword [esp + 0xac]
jl 0x4330ac
mov eax, dword [esp + 0x128]
xor ecx, ecx
inc ecx
push 2
pop edx
mov dword [esi + eax*4], ecx
mov ecx, edx
mov edi, dword [esp + 0xac]
lea eax, [edi + edi]
cmp eax, edx
jl 0x433118
mov eax, dword [esp + 0x2c8]
imul eax, dword [esp + 0x128]
add eax, dword [esp + 0x2bc]
cdq
idiv edi
mov dword [esp + 0x128], edx
cmp dword [esi + edx*4], 0
jg 0x433113
mov dword [esi + edx*4], ecx
inc ecx
mov edi, dword [esp + 0xac]
lea eax, [edi + edi]
cmp ecx, eax
jle 0x4330d9
jmp 0x433118
mov ebx, ecx
sub ebx, dword [esi + edx*4]
push ebx
push 0xac0b4c
call fcn.004f967e
pop ecx
pop ecx
mov dword [esp + 0x6c], 0x1303
cmp dword [esp + 0x6c], 0x1401
jle 0x4331bf
xor eax, eax
mov edi, eax
mov dword [esp + 0x60], eax
mov esi, eax
mov eax, edi
mov dword [esp + 0x44], 0x3b19
mov dword [esp + 0x2c], eax
mov ebx, eax
mov edi, 0x51cb
mov eax, ebx
lea ecx, [esp + 0xb2c]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x433175
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xb2c]
push 0
inc eax
push eax
call fcn.0040160a
dec ebx
dec edi
jne 0x43315a
mov eax, dword [esp + 0x2c]
add eax, esi
dec dword [esp + 0x44]
mov dword [esp + 0x2c], eax
jne 0x433153
mov edi, dword [esp + 0x60]
dec esi
cmp esi, 0xfffff08c
jg 0x433145
inc edi
mov dword [esp + 0x60], edi
push 0
pop eax
cmp edi, 0x717f
jl 0x433143
xor eax, eax
lea ecx, [esp + 0x64c]
inc eax
push eax
call fcn.0042ce8d
cmp dword [esp + 0x6c], 0x1012
jge 0x4331e4
push 0xac0e78
call fcn.004f967e
pop ecx
mov dword [esp + 0x44], 0x2920
cmp dword [esp + 0x44], 0x296d
jle 0x4332d8
xor eax, eax
mov ebx, eax
mov dword [esp + 0x2c], eax
mov esi, eax
mov edi, eax
mov eax, ebx
cdq
idiv esi
mov ebx, edx
mov dword [esp + 0x10], 0x1e19
cmp dword [esp + 0x10], 0x831
jge 0x433288
lea eax, [esp + 0x2e8]
push eax
lea eax, [esp + 0x2b4]
push eax
push 0xac0c68
call fcn.004f9f6f
mov ecx, dword [esp + 0x2bc]
xor eax, eax
add esp, 0xc
inc eax
test ecx, ecx
js 0x433272
mov edx, dword [esp + 0x2e8]
test edx, edx
js 0x433264
test al, 1
je 0x43325d
sub ecx, eax
jmp 0x43325f
sub edx, eax
inc eax
test ecx, ecx
jns 0x433251
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x2e8], edx
test ecx, ecx
mov edx, 0xac0ed0
mov eax, 0xac0ec8
cmovns eax, edx
push eax
call fcn.004fae88
pop ecx
mov ecx, edi
mov eax, ebx
shl eax, cl
mov ecx, 0xad3d78
cdq
push edx
push eax
call fcn.0042cb49
inc edi
cmp edi, 0x29bb
jl 0x43320d
mov ebx, dword [esp + 0x2c]
inc esi
push 0
pop eax
cmp esi, 0x3fc0
jl 0x433204
inc ebx
mov dword [esp + 0x2c], ebx
cmp ebx, 0x2e1c
jl 0x433202
xor ebx, ebx
push ebx
call dword [0x1efd034]
jmp 0x4332da
xor ebx, ebx
push 2
mov dword [esp + 0x18], ebx
pop ecx
jmp 0x4332f2
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x200], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x4332e3
cmp dword [esp + 0x44], 0x285d
jge 0x433311
mov edx, 0xac0e94
mov ecx, 0xad3d78
call fcn.0042f475
push 3
mov dword [esp + 0x18], ebx
pop edi
jmp 0x43332d
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x248], 0x960f57a7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x43331a
mov dword [esp + 0x10], 0x1862
cmp dword [esp + 0x10], 0x73e
jge 0x4333ee
lea eax, [esp + 0x2b8]
xorps xmm0, xmm0
xor ebx, ebx
push eax
movdqu xmmword [esp + 0x554], xmm0
inc ebx
push 0xac0ab8
mov dword [esp + 0x560], ebx
mov dword [esp + 0x55c], ebx
call fcn.004f9f6f
xor esi, esi
pop ecx
pop ecx
cmp dword [esp + 0x2b8], esi
jle 0x4333d6
lea eax, [esp + 0x3c4]
push eax
push 0xac0ab4
call fcn.004f9f6f
mov edx, dword [esp + 0x3cc]
xor eax, eax
pop ecx
pop ecx
cmp dword [esp + edx*4 + 0x550], eax
je 0x4333d4
inc eax
mov ecx, eax
cmp ecx, edx
je 0x4333c3
sub eax, dword [esp + ecx*4 + 0x550]
mov dword [esp + ecx*4 + 0x550], eax
xor eax, eax
inc eax
inc ecx
cmp ecx, edi
jle 0x4333ae
inc esi
cmp esi, dword [esp + 0x2b8]
jl 0x433385
jmp 0x4333d6
mov bl, al
test bl, bl
mov ecx, 0xac0c1c
mov eax, 0xac0c10
cmove eax, ecx
push eax
call fcn.004fae88
pop ecx
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x14], ebx
inc edx
jmp 0x433409
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x64c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x4333f7
mov dword [esp + 0x248], edx
cmp dword [esp + 0x248], ebx
jl 0x433940
mov dword [esp + 0x7c], 0x17
mov dword [esp + 0x6c], 0x1c
mov dword [esp + 0x2c], 0x3016
cmp dword [esp + 0x2c], 0x33b6
jle 0x433476
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0xad3d78
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.0042cb49
inc edi
cmp edi, 0x6289
jl 0x433449
inc esi
cmp esi, 0x904
jl 0x433447
push ebx
call dword [0x1efd2dc]
mov dword [esp + 0x18], 0x3367f5ed
cmp dword [esp + 0x2c], 0x2cb6
jge 0x433497
mov edx, 0xac0ed8
mov ecx, 0xad3d78
call fcn.0042f475
mov dword [esp + 0x60], 0x500b
mov dword [esp + 0x10], 0x1bdd
cmp dword [esp + 0x10], 0x100e
jge 0x43359d
lea eax, [esp + 0xc8]
push eax
push 0xac0b4c
call fcn.004f9f6f
lea eax, [esp + 0x308]
push eax
push 0xac0ab8
call fcn.004f9f6f
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x41c]
add esp, 0x10
dec eax
push eax
call fcn.0042ce8d
mov eax, dword [esp + 0xc8]
mov esi, dword [esp + 0x40c]
dec eax
test eax, eax
jle 0x43352c
push 4
mov edi, esi
pop esi
push edi
push 0xac0ab8
call fcn.004f9f6f
mov eax, dword [esp + 0xd0]
inc ebx
add edi, esi
dec eax
pop ecx
pop ecx
cmp ebx, eax
jl 0x433509
mov esi, dword [esp + 0x40c]
push dword [esp + 0x410]
push esi
call fcn.0044616a
mov eax, dword [esp + 0xd0]
add eax, 0xfffffffe
pop ecx
pop ecx
mov ecx, dword [esi + eax*4]
js 0x433552
cmp dword [esi + eax*4], ecx
jne 0x433552
dec eax
jns 0x43354a
xor ebx, ebx
mov edi, ebx
push dword [esp + 0x410]
push esi
call fcn.0044616a
mov eax, dword [esp + 0xd0]
add eax, 0xfffffffe
pop ecx
pop ecx
js 0x433584
mov ecx, dword [esp + 0x300]
cmp ecx, dword [esi + eax*4]
jle 0x433835
dec eax
jns 0x433578
push edi
push 0xac0b4c
call fcn.004f967e
pop ecx
pop ecx
lea ecx, [esp + 0x40c]
call fcn.0042d79d
cmp dword [esp + 0x60], 0x51b6
jle 0x43372e
mov ecx, ebx
mov dword [esp + 0x24], ebx
mov eax, ebx
mov dword [esp + 0x44], ebx
mov edx, ecx
mov dword [esp + 0x2c], ebx
mov ecx, eax
shl edx, cl
mov dword [esp + 0x5c], edx
mov eax, edx
mov dword [esp + 0x10], 0x1fb4
mov ecx, ebx
shl eax, cl
cmp dword [esp + 0x10], 0xdd6
cdq
mov esi, eax
mov eax, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x50], eax
jge 0x4336b4
and dword [esp + 0x110], 0
lea eax, [esp + 0x110]
push eax
push 0xac0b2c
call fcn.004f9f6f
mov eax, dword [esp + 0x118]
xor edx, edx
mov edi, edx
pop ecx
pop ecx
mov ecx, edx
mov dword [esp + 0x20], ecx
test eax, eax
jle 0x4336a3
mov ebx, ecx
mov esi, edx
test eax, eax
jle 0x43367d
lea eax, [esp + 0x258]
mov dword [esp + 0x258], edx
push eax
push 0xac0ab4
call fcn.004f9f6f
pop ecx
pop ecx
mov ecx, dword [esp + 0x110]
cmp edi, esi
je 0x43366a
mov eax, ecx
sub eax, esi
dec eax
cmp edi, eax
je 0x43366a
lea eax, [ecx - 1]
cdq
sub eax, edx
sar eax, 1
cmp edi, eax
je 0x43366a
cmp esi, eax
jne 0x433671
add ebx, dword [esp + 0x258]
inc esi
push 0
pop edx
cmp esi, ecx
jl 0x43362b
mov dword [esp + 0x20], ebx
push 0xac0f78
call fcn.004f9f6f
mov eax, dword [esp + 0x114]
inc edi
pop ecx
push 0
pop edx
cmp edi, eax
jl 0x433625
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
push ecx
push 0xac0b4c
call fcn.004f967e
mov eax, dword [esp + 0x58]
pop ecx
pop ecx
push eax
push esi
lea ecx, [esp + 0x9b4]
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4336cc
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x9ac]
push 0
inc eax
push eax
call fcn.0040160a
mov edx, dword [esp + 0x5c]
inc ebx
mov dword [esp + 0x2c], ebx
cmp ebx, 0x557d
jl 0x4335c5
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x44], eax
push 0
pop ebx
cmp eax, 0x5ca1
jl 0x4335b7
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0x151b
jl 0x4335b1
push ebx
push ebx
call dword [0x1efd02c]
mov dword [esp + 0x10], 0x186e
cmp dword [esp + 0x10], 0x1138
jge 0x43384c
lea eax, [esp + 0x260]
push eax
lea eax, [esp + 0x26c]
push eax
lea eax, [esp + 0x278]
push eax
lea eax, [esp + 0x200]
push eax
push 0xac0f7c
call fcn.004f9f6f
mov eax, dword [esp + 0x208]
add esp, 0x14
cmp eax, 0xffffffff
je 0x43384a
xor ecx, ecx
cdq
push 0x17
mov esi, dword [esp + 0x264]
or dword [esp + 0x14], 0xffffffff
lea edi, [ecx + 1]
pop ecx
idiv ecx
inc esi
mov ecx, edx
mov dword [esp + 0x2c], ecx
mov eax, esi
cdq
idiv dword [esp + 0x7c]
cmp edx, ecx
jne 0x4337e2
mov eax, esi
cdq
push 0x1c
pop ecx
idiv ecx
mov eax, dword [esp + 0x270]
mov ecx, edx
cdq
idiv dword [esp + 0x6c]
cmp ecx, edx
jne 0x4337de
mov eax, esi
cdq
push 0x21
pop ecx
idiv ecx
mov eax, dword [esp + 0x268]
mov ecx, edx
cdq
idiv dword [esp + 0x38]
cmp ecx, edx
je 0x433846
mov ecx, dword [esp + 0x2c]
inc edi
inc esi
cmp edi, 0xf
jle 0x43379f
mov eax, dword [esp + 0x10]
push eax
push ecx
inc ebx
mov edx, 0xac0fb4
push ebx
push ecx
mov ecx, 0xad3d78
call fcn.0042f475
pop ecx
mov ecx, eax
call fcn.00441b73
mov edx, 0xac0f90
mov ecx, eax
call fcn.0042f475
pop ecx
mov ecx, eax
call fcn.00441b73
mov edx, 0xac0f88
mov ecx, eax
call fcn.0042f475
push eax
call fcn.00446111
pop ecx
jmp 0x433744
inc ecx
mov dword [esp + 0x300], ecx
dec dword [esi + eax*4]
inc edi
jmp 0x433556
mov eax, edi
jmp 0x4337ed
xor ebx, ebx
cmp dword [esp + 0x60], 0x4e87
jge 0x433861
push 0xac0f38
call fcn.004f967e
pop ecx
push 4
mov dword [esp + 0x20], ebx
pop ecx
jmp 0x43387d
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x850], 0xfe93
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x43386a
inc dword [esp + 0x18]
mov eax, dword [esp + 0x248]
cmp dword [esp + eax*4 + 0x200], ebx
je 0x4338a7
cmp dword [esp + 0x204], ebx
je 0x4338a7
xor eax, eax
lea esi, [eax + 1]
jmp 0x4338a9
mov esi, ebx
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x248]
mov eax, dword [esp + eax*4 + 0x200]
add eax, dword [esp + 0x250]
mov dword [esp + 0x854], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x248]
mov edx, dword [esp + eax*4 + 0x200]
mov eax, dword [esp + 0x204]
cmp esi, eax
mov eax, dword [esp + 0x248]
setl cl
sub edx, ecx
mov ecx, dword [esp + eax*4 + 0x200]
mov eax, dword [esp + 0x18]
sub edx, eax
xor eax, eax
cmp edx, ecx
setle al
xor ecx, ecx
inc ecx
cmp ecx, eax
sbb eax, eax
add eax, 0x7ec3d80e
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xc0c8
mov eax, dword [esp + 0x64c]
setg cl
neg ecx
mov dword [eax], ecx
mov dword [esp + 0x204], ecx
dec dword [esp + 0x248]
jns 0x433433
lea ecx, [esp + 0x64c]
call fcn.0042d79d
cmp dword [esp + 0x4c], 0x630b
jge 0x433965
mov edx, 0xac0dd8
mov ecx, 0xad3d78
call fcn.0042f475
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 0x516a3c
mov dword [esp + 0x34], 0x17f6
mov dword [esp + 0x38], 0x26c4
cmp dword [esp + 0x38], 0xaaf
jge 0x433a3b
lea eax, [esp + 0x538]
push eax
lea eax, [esp + 0x364]
push eax
lea eax, [esp + 0x7b0]
push eax
lea eax, [esp + 0x534]
push eax
lea eax, [esp + 0x558]
push eax
push 0xac0fbc
call fcn.004f9f6f
mov esi, dword [esp + 0x7c0]
add esp, 0x18
mov eax, esi
cdq
cmp edx, dword [esp + 0x364]
jg 0x433a25
jl 0x4339e0
cmp eax, dword [esp + 0x360]
ja 0x433a25
push dword [esp + 0x53c]
push dword [esp + 0x53c]
push edx
push eax
call fcn.004fdd80
cmp dword [esp + 0x54c], edx
jg 0x433a1d
jl 0x433a09
cmp dword [esp + 0x548], eax
ja 0x433a1d
cmp edx, dword [esp + 0x52c]
jl 0x433a20
jg 0x433a1d
cmp eax, dword [esp + 0x528]
jbe 0x433a20
inc esi
jmp 0x4339c9
xor eax, eax
lea ebx, [eax + 1]
test bl, bl
mov ecx, 0xac0c1c
mov eax, 0xac0c10
cmove eax, ecx
push eax
call fcn.004fae88
pop ecx
cmp dword [esp + 0x34], 0x1a09
jle 0x433a94
xor eax, eax
mov esi, eax
mov edi, eax
mov ebx, 0x6697
mov eax, edi
lea ecx, [esp + 0xafc]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x433a6b
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xafc]
push 0
inc eax
push eax
call fcn.0040160a
add edi, esi
dec ebx
jne 0x433a50
inc esi
push ebx
pop eax
cmp esi, 0x1044
jl 0x433a49
mov dword [esp + 0x38], 0x1c44
cmp dword [esp + 0x38], 0xcd2
jge 0x433c2f
lea eax, [esp + 0x220]
push eax
push 0xac0b4c
call fcn.004f9f6f
pop ecx
pop ecx
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0x2e4], ecx
mov esi, ecx
mov dword [esp + 0x2dc], eax
mov edi, ecx
mov dword [esp + 0x2e0], esi
mov ecx, dword [esp + 0x220]
test ecx, ecx
jle 0x433b38
mov eax, ecx
push 0xa
pop ecx
cdq
idiv ecx
lea ecx, [esp + 0x2dc]
mov dword [esp + 0x220], eax
lea eax, [esp + 0x1c4]
push eax
mov dword [esp + 0x1c8], edx
call fcn.0044225d
cmp dword [esp + 0x1c4], edi
mov ecx, dword [esp + 0x220]
cmovg edi, dword [esp + 0x1c4]
test ecx, ecx
jg 0x433ae6
mov esi, dword [esp + 0x2e0]
mov eax, dword [esp + 0x2dc]
mov edx, esi
mov ebx, eax
cmp eax, esi
je 0x433b5a
push 4
pop eax
sub edx, eax
cmp ebx, edx
je 0x433b5a
mov ecx, dword [ebx]
mov eax, dword [edx]
mov dword [ebx], eax
push 4
pop eax
add ebx, eax
mov dword [edx], ecx
cmp ebx, edx
jne 0x433b43
push edi
lea ecx, [esp + 0x420]
call fcn.0042ce8d
mov ebx, dword [esp + 0x2dc]
xor edx, edx
sub esi, ebx
mov eax, edx
sar esi, 2
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], eax
test esi, esi
je 0x433bc7
mov ecx, dword [ebx + eax*4]
mov dword [esp + 0x38], ecx
test edi, edi
jle 0x433bbb
mov ebx, dword [esp + 0x41c]
mov esi, ecx
xor ecx, ecx
cmp edx, esi
setl cl
imul eax, dword [ebx + edx*4], 0xa
add ecx, eax
mov dword [ebx + edx*4], ecx
inc edx
cmp edx, edi
jl 0x433b97
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2dc]
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
push 0
pop edx
cmp eax, esi
jb 0x433b83
push edi
push 0xac0b2c
call fcn.004f967e
mov esi, dword [esp + 0x428]
xor ebx, ebx
mov eax, dword [esp + 0x424]
mov edi, ebx
sub esi, eax
sar esi, 2
pop ecx
pop ecx
test esi, esi
je 0x433c0a
push dword [eax + edi*4]
push 0xac0c14
call fcn.004f967e
mov eax, dword [esp + 0x424]
inc edi
pop ecx
pop ecx
cmp edi, esi
jb 0x433bef
push 0xabec31
call fcn.004fae88
pop ecx
lea ecx, [esp + 0x41c]
call fcn.0042d79d
lea ecx, [esp + 0x2dc]
call fcn.0042d79d
jmp 0x433c31
xor ebx, ebx
mov dword [esp + 0x24], 0xaeef
mov dword [esp + 0x38], 0x2254
cmp dword [esp + 0x38], 0x4e6
jge 0x433d4c
push ebx
push ebx
lea ecx, [esp + 0x44c]
mov dword [esp + 0x45c], ebx
mov dword [esp + 0x460], ebx
call fcn.0040160a
lea edx, [esp + 0x444]
mov ecx, 0xad3ec0
call fcn.00446f4f
mov esi, dword [esp + 0x454]
mov edi, 0xac1014
cmp esi, 7
jae 0x433ca0
mov edx, edi
mov ecx, 0xad3d78
call fcn.0042f475
push eax
call fcn.00446111
pop ecx
lea ecx, [esi - 1]
mov edx, ebx
mov esi, dword [esp + 0x38]
test ecx, ecx
js 0x433cda
cmp dword [esp + 0x458], 0x10
lea eax, [esp + 0x444]
cmovae eax, dword [esp + 0x444]
cmp byte [eax + ecx], 0x30
jne 0x433cd2
inc edx
mov esi, ecx
cmp edx, 6
je 0x433d23
dec ecx
jns 0x433cad
cmp edx, 6
jge 0x433d23
mov edx, edi
mov ecx, 0xad3d78
call fcn.0042f475
push eax
call fcn.00446111
pop ecx
jmp 0x433d23
cmp dword [esp + 0x458], 0x10
lea eax, [esp + 0x444]
cmovae eax, dword [esp + 0x444]
cmp byte [eax + esi], 0x31
jne 0x433d22
mov edx, 0xac1018
mov ecx, 0xad3d78
call fcn.0042f475
push eax
call fcn.00446111
pop ecx
dec esi
cmp esi, 0xffffffff
jg 0x433cef
mov edx, edi
mov ecx, 0xad3d78
call fcn.0042f475
push eax
call fcn.00446111
pop ecx
xor eax, eax
lea ecx, [esp + 0x444]
push ebx
inc eax
push eax
call fcn.0040160a
mov dword [esp + 0x60], 0x4b5f
cmp dword [esp + 0x60], 0x4c83
jle 0x433db3
xor eax, eax
mov edi, eax
mov esi, eax
mov ecx, eax
mov dword [esp + 0x44], 0x37f3
mov dword [esp + 0x2c], ecx
mov eax, edi
sar eax, cl
mov ecx, 0xad3d78
and eax, ebx
cdq
push edx
push eax
call fcn.0042cb49
mov ecx, dword [esp + 0x2c]
add ecx, esi
dec dword [esp + 0x44]
mov dword [esp + 0x2c], ecx
jne 0x433d72
inc esi
push 0
pop eax
cmp esi, 0x717c
jl 0x433d64
inc edi
cmp edi, 0x516
jl 0x433d62
inc ebx
cmp ebx, 0x6394
jl 0x433d5e
mov dword [esp + 0x2c], 0xf6802998
cmp dword [esp + 0x60], 0x4a6d
jge 0x433dd4
mov edx, 0xac1020
mov ecx, 0xad3d78
call fcn.0042f475
mov dword [esp + 0x38], 0x1e82
cmp dword [esp + 0x38], 0xf5e
jge 0x433e8d
lea eax, [esp + 0x278]
push eax
push 0xac0ab4
call fcn.004f9f6f
xor eax, eax
inc eax
mov ebx, eax
mov dword [esp + 0x34], eax
pop ecx
pop ecx
cmp dword [esp + 0x278], eax
jl 0x433e8d
lea eax, [esp + 0xe0c]
push eax
push 0xac0b38
call fcn.004f9f6f
pop ecx
pop ecx
lea esi, [esp + 0xe0c]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x433e2e
push ebx
push 0xac1068
sub esi, ecx
call fcn.004f967e
pop ecx
xor edi, edi
pop ecx
test esi, esi
jle 0x433e74
push 0x1a
pop ebx
movsx eax, byte [esp + edi + 0xe0c]
sub eax, 0x40
cdq
idiv ebx
add edx, 0x41
push edx
push 0xac1074
call fcn.004f967e
inc edi
pop ecx
pop ecx
cmp edi, esi
jl 0x433e4d
mov ebx, dword [esp + 0x2c]
push 0xac1078
call fcn.004f967e
inc ebx
pop ecx
mov dword [esp + 0x2c], ebx
cmp ebx, dword [esp + 0x278]
jle 0x433e10
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x70], 0x9b389519
mov dword [esp + 0x18], 0xfffffff8
mov dword [esp + 0x44], 0x7c18
cmp dword [esp + 0x44], 0x7d49
jle 0x433ef9
xor eax, eax
mov edi, eax
mov dword [esp + 0x2c], eax
mov esi, eax
mov ebx, edi
mov edi, 0x1d05
mov eax, ebx
mov ecx, 0xad3d78
cdq
push edx
push eax
call fcn.0042cb49
add ebx, esi
dec edi
jne 0x433ec8
mov edi, dword [esp + 0x2c]
inc esi
cmp esi, 0xd5e
jl 0x433ec1
inc edi
mov dword [esp + 0x2c], edi
push 0
pop eax
cmp edi, 0x70d5
jl 0x433ebf
push 3
pop eax
push eax
lea ecx, [esp + 0x668]
call fcn.0042ce8d
cmp dword [esp + 0x44], 0x79ad
mov edi, 0xad3d78
jge 0x433f24
mov edx, 0xac107c
mov ecx, edi
call fcn.0042f475
mov dword [esp + 0x20], 0xfffffffb
mov dword [esp + 0x4c], 0x580e
cmp dword [esp + 0x4c], 0x58a9
jle 0x4340b1
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0x6c], ecx
mov esi, eax
mov dword [esp + 0x60], 0x1cbc
mov dword [esp + 0x44], esi
mov ebx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], 0x159e
cmp dword [esp + 0x38], 0xe12
jge 0x43406c
xor eax, eax
mov dword [esp + 0x380], ecx
inc eax
mov ebx, ecx
mov dword [esp + 0x38], eax
mov esi, ecx
lea eax, [esp + 0x280]
mov dword [esp + 0x378], ebx
push eax
push 0xac0ab8
mov dword [esp + 0x384], esi
call fcn.004f9f6f
xor edi, edi
pop ecx
pop ecx
mov dword [esp + 0x1fc], edi
cmp dword [esp + 0x280], edi
jle 0x434016
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0x3d4]
push eax
push 0xac0ab8
call fcn.004f9f6f
pop ecx
pop ecx
cmp dword [esp + 0x3d4], ebx
jne 0x433ff7
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0x37c]
call fcn.004420f0
mov edi, dword [esp + 0x1fc]
inc ebx
inc edi
mov dword [esp + 0x1fc], edi
cmp edi, dword [esp + 0x280]
jl 0x433fbe
mov esi, dword [esp + 0x37c]
mov ebx, dword [esp + 0x378]
sub esi, ebx
sar esi, 2
push esi
push 0xac0b4c
call fcn.004f967e
pop ecx
xor edi, edi
pop ecx
test esi, esi
je 0x434048
mov eax, dword [ebx + edi*4]
push 0x21
pop ecx
add eax, ecx
push eax
push 0xac0c14
call fcn.004f967e
inc edi
pop ecx
pop ecx
cmp edi, esi
jb 0x43402e
push 0xabec31
call fcn.004fae88
pop ecx
lea ecx, [esp + 0x378]
call fcn.0042d79d
mov ebx, dword [esp + 0x2c]
mov edi, 0xad3d78
mov esi, dword [esp + 0x44]
mov eax, ebx
mov ecx, edi
or eax, esi
cdq
push edx
push eax
call fcn.0042cb49
inc ebx
mov dword [esp + 0x2c], ebx
push 0
pop ecx
cmp ebx, 0x2abc
jl 0x433f5e
dec esi
dec dword [esp + 0x60]
mov dword [esp + 0x44], esi
jne 0x433f58
mov eax, dword [esp + 0x6c]
inc eax
mov dword [esp + 0x6c], eax
cmp eax, 0x110
jl 0x433f4a
xor ebx, ebx
push 3
mov dword [esp + 0x20], ebx
pop edx
jmp 0x4340d2
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x664]
mov dword [eax + ecx*4], 0x57e71f09
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x4340bc
cmp dword [esp + 0x4c], 0x54ca
jge 0x4340ee
mov edx, 0xac10b8
mov ecx, edi
call fcn.0042f475
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
inc dword [esp + 0x20]
cmp eax, ecx
je 0x434105
xor eax, eax
inc eax
mov ecx, eax
jmp 0x43410a
xor eax, eax
mov ecx, ebx
inc eax
cmp dword [esp + 0x18], ebx
jne 0x434112
mov eax, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x664]
mov edx, dword [eax + 4]
xor eax, eax
cmp ecx, 1
setl al
xor ecx, ecx
cmp eax, 0x9d33
setne cl
sub ecx, edx
cmp ecx, 0x66b
jge 0x43414b
test edx, edx
je 0x43414b
xor eax, eax
lea edx, [eax + 1]
jmp 0x43414d
mov edx, ebx
mov eax, dword [esp + 0x24]
mov ecx, 0xe2c0d37a
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
mov eax, dword [esp + 0x24]
setle cl
sub eax, ecx
lea ecx, [esp + 0x664]
mov dword [esp + 0x38], eax
call fcn.0042d79d
mov dword [esp + 0x38], 0x179d
cmp dword [esp + 0x38], 0x137f
jge 0x43421e
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x3e0]
push eax
lea eax, [esp + 0x1dc]
push eax
push 0xac0d24
call fcn.004f9f6f
add esp, 0x10
mov esi, ebx
imul ecx, dword [esp + 0x1d4], 0xa
mov dword [esp + 0x1d4], ecx
lea eax, [esi + ecx]
cdq
idiv dword [esp + 0x3dc]
test edx, edx
je 0x4341e8
push 0xa
inc esi
pop eax
cmp esi, eax
jl 0x4341c5
push 0xac110c
call fcn.004fae88
jmp 0x43421d
add ecx, esi
push ecx
push 0xac0ab8
mov dword [esp + 0x1dc], ecx
call fcn.004f967e
pop ecx
jmp 0x434209
push 0xac1108
call fcn.004f967e
dec dword [esp + 0xf4]
pop ecx
jne 0x4341ff
push 0xac0f78
call fcn.004f967e
pop ecx
cmp dword [esp + 0x34], 0x1621
jge 0x4342bf
mov dword [esp + 0x38], 0x2253
cmp dword [esp + 0x38], 0x10a1
jge 0x4342b4
lea eax, [esp + 0x3ec]
push eax
lea eax, [esp + 0x28c]
push eax
lea eax, [esp + 0x3ec]
push eax
push 0xac0d24
call fcn.004f9f6f
mov ecx, dword [esp + 0x3f4]
add esp, 0x10
mov edx, dword [esp + 0x3ec]
cmp ecx, dword [esp + 0x288]
jne 0x434285
test edx, edx
jne 0x434285
push 0xac1108
jmp 0x4342ae
sub ecx, dword [esp + 0x288]
mov eax, ecx
sub eax, edx
test eax, eax
jle 0x43429b
push 0xac1110
jmp 0x4342ae
lea eax, [ecx + edx]
test eax, eax
jns 0x4342a9
push 0xac1114
jmp 0x4342ae
push 0xac1118
call fcn.004fae88
pop ecx
push 0xac0fd8
call fcn.004f967e
pop ecx
mov eax, dword [esp + 0x54]
cmp dword [esp + 0x84], eax
jge 0x438e20
mov dword [esp + 0x38], 0x2452
cmp dword [esp + 0x38], 0x12ca
jge 0x4343ea
push ebx
push ebx
lea ecx, [esp + 0x314]
mov dword [esp + 0x324], ebx
mov dword [esp + 0x328], ebx
call fcn.0040160a
xor eax, eax
lea ebx, [eax + 1]
jmp 0x4343b6
xor esi, esi
cmp dword [esp + 0x31c], esi
jbe 0x4343af
cmp dword [esp + 0x320], 0x10
lea eax, [esp + 0x30c]
cmovae eax, dword [esp + 0x30c]
cmp byte [eax + esi], 0x22
jne 0x43434c
test bl, bl
je 0x43434c
mov edx, 0xac111c
mov ecx, edi
call fcn.0042f475
xor bl, bl
jmp 0x4343a1
cmp dword [esp + 0x320], 0x10
lea eax, [esp + 0x30c]
cmovae eax, dword [esp + 0x30c]
cmp byte [eax + esi], 0x22
jne 0x434380
test bl, bl
jne 0x434380
mov edx, 0xac1120
mov ecx, edi
call fcn.0042f475
xor eax, eax
lea ebx, [eax + 1]
jmp 0x4343a1
cmp dword [esp + 0x320], 0x10
lea eax, [esp + 0x30c]
mov ecx, edi
cmovae eax, dword [esp + 0x30c]
mov dl, byte [eax + esi]
call fcn.0044626e
inc esi
cmp esi, dword [esp + 0x31c]
jb 0x43431b
push edi
call fcn.00446111
pop ecx
lea edx, [esp + 0x30c]
mov ecx, 0xad3ec0
call fcn.004460ea
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x43430c
xor ebx, ebx
lea ecx, [esp + 0x30c]
xor eax, eax
push ebx
inc eax
push eax
call fcn.0040160a
mov dword [esp + 0x60], 0x4dbc
cmp dword [esp + 0x60], 0x4e57
jle 0x434459
push ebx
call dword [0x1efd3fc]
xor eax, eax
mov edi, eax
mov esi, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], 0x70d3
mov eax, edi
mov ecx, 0xad3d78
and eax, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.0042cb49
dec esi
dec dword [esp + 0x2c]
jne 0x434419
mov esi, dword [esp + 0x44]
inc esi
mov dword [esp + 0x44], esi
cmp esi, 0x424
jl 0x43440d
inc edi
push 0
pop eax
cmp edi, 0x2bd5
jl 0x434407
inc ebx
cmp ebx, 0x264a
jl 0x434403
xor ebx, ebx
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x60], 0x4a5b
jge 0x434478
mov edx, 0xac1128
mov ecx, 0xad3d78
call fcn.0042f475
mov dword [esp + 0x34], ebx
jmp 0x4348a1
mov byte [esp + 0x2b], bl
mov dword [esp + 0x44], 0x6aa
mov dword [esp + 0x38], 0x17d4
cmp dword [esp + 0x38], 0x575
jge 0x4345bd
lea eax, [esp + 0x2a0]
mov ecx, 0xad3ec0
push eax
call fcn.0044137b
mov esi, dword [esp + 0x2a0]
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
test esi, esi
je 0x4345b5
lea eax, [esp + 0x298]
mov dword [esp + 0x20], ebx
dec esi
mov ecx, 0xad3ec0
push eax
mov dword [esp + 0x3c], esi
call fcn.0044137b
mov edi, dword [esp + 0x298]
test edi, edi
je 0x43453a
mov esi, ebx
lea eax, [esp + 0x290]
mov ecx, 0xad3ec0
push eax
call fcn.0044137b
mov eax, dword [esp + 0x290]
cdq
push 0x1e
pop ecx
idiv ecx
push 0x3c
imul ecx, eax, 0xa
mov eax, dword [esp + 0x294]
cdq
add ecx, 0xa
add ebx, ecx
pop ecx
idiv ecx
imul eax, eax, 0xf
add eax, 0xf
add esi, eax
dec edi
jne 0x4344f3
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x38]
dec edi
mov edx, 0xac0fb4
mov dword [esp + 0x298], edi
mov edi, dword [esp + 0x2c]
push edi
push ecx
mov ecx, 0xad3d78
call fcn.0042f475
pop ecx
mov ecx, eax
call fcn.00441b73
mov edx, 0xabec34
mov ecx, eax
call fcn.0042f475
mov eax, dword [esp + 0x20]
cmp ebx, eax
jne 0x43457b
push ebx
mov edx, 0xac1184
jmp 0x43458b
jge 0x434585
push ebx
mov edx, 0xac1190
jmp 0x43458b
push eax
mov edx, 0xac1198
push ecx
mov ecx, 0xad3d78
call fcn.0042f475
pop ecx
mov ecx, eax
call fcn.00441b73
push eax
call fcn.00446111
pop ecx
inc edi
mov dword [esp + 0x2c], edi
push 0
pop ebx
test esi, esi
jne 0x4344cb
dec esi
mov dword [esp + 0x2a0], esi
cmp dword [esp + 0x44], 0x81b
jle 0x434786
mov ecx, ebx
mov dword [esp + 0x1c], ebx
mov eax, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ebx
mov esi, ebx
xor edi, edi
xor esi, eax
xor esi, ecx
xor ebx, ebx
mov dword [esp + 0x38], 0x1c09
cmp dword [esp + 0x38], 0xe13
jge 0x434703
call fcn.004f9e93
push eax
push 0xac0d04
push 0xac11b4
call fcn.004fae41
add esp, 0xc
call fcn.004f9e93
add eax, 0x20
push eax
push 0xac0d14
push 0xac11bc
call fcn.004fae41
add esp, 0xc
mov dword [esp + 0x340], ebx
lea ecx, [esp + 0x330]
mov dword [esp + 0x344], ebx
push ebx
push ebx
call fcn.0040160a
jmp 0x4346ca
mov eax, ebx
mov edx, ebx
mov dword [esp + 0x20], eax
cmp dword [esp + 0x340], eax
jbe 0x4346b8
cmp dword [esp + 0x344], 0x10
lea eax, [esp + 0x330]
cmovae eax, dword [esp + 0x330]
cmp byte [eax + edx], 0x20
je 0x4346aa
cmp dword [esp + 0x344], 0x10
lea eax, [esp + 0x330]
cmovae eax, dword [esp + 0x330]
movsx ecx, byte [eax + edx]
lea eax, [edx + 1]
sub ecx, 0x40
imul ecx, eax
mov eax, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x20], eax
jmp 0x4346ae
mov eax, dword [esp + 0x20]
inc edx
cmp edx, dword [esp + 0x340]
jb 0x43465d
push eax
mov ecx, 0xad3d78
call fcn.00441b73
push eax
call fcn.00446111
pop ecx
lea edx, [esp + 0x330]
mov ecx, 0xad3ec0
call fcn.004460ea
push 0xac0d30
lea ecx, [esp + 0x334]
call fcn.00441326
test eax, eax
jne 0x43464c
push ebx
inc eax
lea ecx, [esp + 0x334]
push eax
call fcn.0040160a
mov eax, esi
lea ecx, [esp + 0x9dc]
or eax, edi
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x434720
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x9dc]
push ebx
inc eax
push eax
call fcn.0040160a
inc edi
cmp edi, 0x61a7
jl 0x4345e5
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
inc ebx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ebx
cmp ebx, 0x67f8
jl 0x4345db
inc eax
mov dword [esp + 0x24], eax
push 0
pop ebx
cmp eax, 0xb2e
jl 0x4345d7
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x7dee
jl 0x4345d1
cmp byte [esp + 0x2b], 0
je 0x434886
mov dword [esp + 0x38], 0x1c37
cmp dword [esp + 0x38], 0xfa3
jge 0x43487b
lea eax, [esp + 0x20c]
mov ecx, 0xad3ec0
push eax
call fcn.004414ba
lea ecx, [esp + 0x5ac]
call fcn.00441eb7
mov eax, dword [esp + 0x20c]
jmp 0x434809
and eax, 0x80000001
jns 0x4347da
dec eax
or eax, 0xfffffffe
inc eax
lea eax, [esp + 0x9f]
setne byte [esp + 0x9f]
push eax
lea ecx, [esp + 0x5b0]
call fcn.00441f2c
mov eax, dword [esp + 0x20c]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x20c], eax
test eax, eax
jg 0x4347ce
mov edi, dword [esp + 0x5b8]
dec edi
js 0x434859
push edi
lea eax, [esp + 0x87c]
push eax
lea ecx, [esp + 0x5b4]
call fcn.00441f0d
xor ecx, ecx
mov esi, dword [eax]
lea edx, [ecx + 1]
mov ecx, dword [eax + 4]
shl edx, cl
test dword [esi], edx
je 0x434856
lea eax, [edi + 1]
mov ecx, 0xad3d78
push eax
call fcn.00441b73
mov edx, 0xac0d78
mov ecx, eax
call fcn.0042f475
dec edi
jns 0x434817
push 0xad3d78
call fcn.00446111
pop ecx
xor ebx, ebx
lea ecx, [esp + 0x5ac]
mov dword [esp + 0x5b8], ebx
call fcn.0042d79d
jmp 0x43487d
xor ebx, ebx
push ebx
call dword [0x1efd3fc]
jmp 0x434888
xor ebx, ebx
cmp dword [esp + 0x44], 0x545
jge 0x43489d
push 0xac11a0
call fcn.004f967e
pop ecx
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 0x10
jne 0x434481
mov dword [esp + 0x34], 7
cmp dword [esp + 0x34], 8
jl 0x43542b
lea eax, [esp + 0x6a0]
lea ecx, [esp + 0x6b0]
movdqa xmm0, xmmword [0xacc6b0]
push ecx
push ecx
mov dword [esp + 0x20], 0xdc7555b7
lea ecx, [esp + 0x600]
push eax
movdqu xmmword [esp + 0x6ac], xmm0
call fcn.0042cf08
mov dword [esp + 0x38], 0x1cd9
cmp dword [esp + 0x38], 0x592
jge 0x434fb1
lea eax, [esp + 0x2c0]
push eax
push 0xac0ab4
call fcn.004f9f6f
xor ebx, ebx
inc ebx
pop ecx
pop ecx
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x2c0], ebx
jl 0x434fb4
push 3
pop eax
lea esi, [esp + 0x130]
mov ebx, eax
push 4
pop eax
mov edi, eax
push esi
push 0xac11c4
call fcn.004f9f6f
pop ecx
add esi, 8
pop ecx
dec edi
jne 0x434944
dec ebx
jne 0x43493f
push dword [esp + 0x13c]
push dword [esp + 0x13c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.004fdd80
push dword [esp + 0x184]
push dword [esp + 0x184]
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x164]
mov esi, eax
mov edi, edx
push dword [esp + 0x164]
push dword [esp + 0x144]
push dword [esp + 0x144]
call fcn.004fdd80
push dword [esp + 0x174]
push dword [esp + 0x174]
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x17c]
mov ebx, eax
mov eax, edx
push dword [esp + 0x17c]
sub ebx, esi
push dword [esp + 0x13c]
sbb eax, edi
mov dword [esp + 0x30], ebx
push dword [esp + 0x13c]
mov dword [esp + 0x30], eax
call fcn.004fdd80
push dword [esp + 0x164]
push dword [esp + 0x164]
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x15c]
mov edi, dword [esp + 0x24]
mov esi, ebx
push dword [esp + 0x15c]
sub esi, eax
push dword [esp + 0x17c]
sbb edi, edx
push dword [esp + 0x17c]
call fcn.004fdd80
push dword [esp + 0x144]
mov ebx, dword [esp + 0x144]
push ebx
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x134]
sub esi, eax
push dword [esp + 0x134]
sbb edi, edx
push dword [esp + 0x18c]
push dword [esp + 0x18c]
call fcn.004fdd80
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x17c]
add esi, eax
push dword [esp + 0x17c]
adc edi, edx
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.004fdd80
push dword [esp + 0x144]
push ebx
push edx
push eax
call fcn.004fdd80
add esi, eax
mov dword [esp + 0x24], esi
adc edi, edx
mov dword [esp + 0x20], edi
push dword [esp + 0x13c]
push dword [esp + 0x13c]
push dword [esp + 0x174]
push dword [esp + 0x174]
call fcn.004fdd80
push dword [esp + 0x13c]
mov edi, dword [esp + 0x190]
push dword [esp + 0x13c]
mov esi, dword [esp + 0x190]
push edi
push esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x8c], edx
call fcn.004fdd80
push dword [esp + 0x164]
push dword [esp + 0x164]
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x17c]
mov dword [esp + 0x1c], eax
push dword [esp + 0x17c]
mov dword [esp + 0x1c], edx
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004fdd80
push dword [esp + 0x164]
push dword [esp + 0x164]
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x15c]
sub dword [esp + 0x1c], eax
push dword [esp + 0x15c]
sbb dword [esp + 0x1c], edx
push edi
push esi
call fcn.004fdd80
push dword [esp + 0x144]
push ebx
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x184]
sub dword [esp + 0x1c], eax
push dword [esp + 0x184]
sbb dword [esp + 0x1c], edx
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004fdd80
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x17c]
add dword [esp + 0x1c], eax
push dword [esp + 0x17c]
adc dword [esp + 0x1c], edx
push dword [esp + 0x174]
push dword [esp + 0x174]
call fcn.004fdd80
push dword [esp + 0x144]
push ebx
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x184]
mov ebx, dword [esp + 0x1c]
push dword [esp + 0x184]
add ebx, eax
push dword [esp + 0x84]
adc dword [esp + 0x20], edx
push dword [esp + 0x68]
call fcn.004fdd80
push dword [esp + 0x154]
sub ebx, eax
push dword [esp + 0x154]
sbb dword [esp + 0x1c], edx
push dword [esp + 0x154]
mov dword [esp + 0x24], ebx
push dword [esp + 0x154]
call fcn.004fdd80
push dword [esp + 0x134]
mov dword [esp + 0x50], eax
push dword [esp + 0x134]
mov dword [esp + 0x74], edx
push edi
push esi
call fcn.004fdd80
push dword [esp + 0x154]
mov dword [esp + 0x30], eax
mov ebx, edx
push dword [esp + 0x154]
push edi
push esi
call fcn.004fdd80
push dword [esp + 0x134]
mov dword [esp + 0x64], eax
push dword [esp + 0x134]
mov dword [esp + 0x4c], edx
push dword [esp + 0x18c]
push dword [esp + 0x18c]
call fcn.004fdd80
push dword [esp + 0x144]
mov edi, eax
mov esi, edx
push dword [esp + 0x144]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004fdd80
push dword [esp + 0x16c]
sub edi, eax
push dword [esp + 0x16c]
sbb esi, edx
push esi
push edi
call fcn.004fdd80
push dword [esp + 0x174]
mov esi, eax
mov edi, edx
push dword [esp + 0x174]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004fdd80
push dword [esp + 0x164]
sub eax, dword [esp + 0x30]
push dword [esp + 0x164]
sbb edx, ebx
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x184]
add esi, eax
push dword [esp + 0x184]
adc edi, edx
push dword [esp + 0x74]
push dword [esp + 0x58]
call fcn.004fdd80
push dword [esp + 0x144]
sub esi, eax
push dword [esp + 0x144]
sbb edi, edx
push dword [esp + 0x4c]
push dword [esp + 0x6c]
call fcn.004fdd80
push dword [esp + 0x134]
add esi, eax
push dword [esp + 0x134]
adc edi, edx
mov dword [esp + 0x38], esi
push dword [esp + 0x174]
mov dword [esp + 0x5c], edi
push dword [esp + 0x174]
call fcn.004fdd80
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edx
push eax
call fcn.004fdd80
mov esi, eax
mov edi, edx
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ebx
push dword [esp + 0x38]
call fcn.004fdd80
push dword [esp + 0x174]
mov ebx, eax
mov dword [esp + 0x20], edx
push dword [esp + 0x174]
sub ebx, esi
mov esi, edx
push dword [esp + 0x154]
sbb esi, edi
push dword [esp + 0x154]
call fcn.004fdd80
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push edx
push eax
call fcn.004fdd80
push dword [esp + 0x13c]
sub ebx, eax
push dword [esp + 0x13c]
sbb esi, edx
push dword [esp + 0x4c]
push dword [esp + 0x6c]
call fcn.004fdd80
push dword [esp + 0x17c]
sub ebx, eax
push dword [esp + 0x17c]
sbb esi, edx
push dword [esp + 0x74]
push dword [esp + 0x58]
call fcn.004fdd80
push dword [esp + 0x174]
add ebx, eax
push dword [esp + 0x174]
adc esi, edx
push dword [esp + 0x84]
push dword [esp + 0x68]
call fcn.004fdd80
mov edi, dword [esp + 0x18]
add ebx, eax
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x24]
adc esi, edx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x20]
push esi
push ebx
push dword [esp + 0x24]
push dword [esp + 0x68]
push dword [esp + 0x60]
push dword [esp + 0x44]
push dword [esp + 0x2c]
push edi
push 0xac11cc
call fcn.004f967e
mov eax, ebx
add esp, 0x24
or eax, esi
jne 0x434ed1
push 0xac11e4
call fcn.004f967e
pop ecx
jmp 0x434f9b
mov edx, esi
mov ecx, ebx
call fcn.00512c5f
mov edx, dword [esp + 0x14]
mov ecx, edi
movsd qword [esp + 0x70], xmm0
call fcn.00512c5f
divsd xmm0, qword [esp + 0x70]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
movsd qword [esp + 0x198], xmm0
call fcn.00512c5f
divsd xmm0, qword [esp + 0x70]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x5c]
movsd qword [esp + 0x38], xmm0
call fcn.00512c5f
movsd xmm2, qword [esp + 0x198]
movapd xmm1, xmm0
movsd xmm4, qword [0xacc4e8]
xorps xmm5, xmm5
comisd xmm2, xmm4
divsd xmm1, qword [esp + 0x70]
movsd xmm3, qword [0xacc488]
jbe 0x434f55
comisd xmm3, xmm2
jbe 0x434f55
movaps xmm2, xmm5
movsd xmm0, qword [esp + 0x38]
comisd xmm0, xmm4
jbe 0x434f6a
comisd xmm3, xmm0
jbe 0x434f6a
movaps xmm0, xmm5
comisd xmm1, xmm4
jbe 0x434f7a
comisd xmm3, xmm1
jbe 0x434f7a
movapd xmm1, xmm5
sub esp, 0x18
movsd qword [esp + 0x10], xmm1
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm2
push 0xac11fc
call fcn.004f967e
add esp, 0x1c
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x2c0]
jle 0x434933
xor ebx, ebx
inc ebx
push 4
pop edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x18], 0x11
jge 0x435402
xor ecx, ecx
jmp 0x434fcd
xor ebx, ebx
inc ebx
mov dword [esp + 0x1c], ecx
jmp 0x434fe2
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x384], ecx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x434fd3
push 3
pop eax
mov dword [esp + 0x388], eax
cmp dword [esp + 0x388], ecx
jl 0x4353f3
jmp 0x435004
xor ebx, ebx
inc ebx
mov dword [esp + 0x14], 0x70a50b5f
mov dword [esp + 0x38], 0x20ba
cmp dword [esp + 0x38], 0x775
jge 0x4350d4
lea eax, [esp + 0x1dc]
push eax
push 0xac0ab4
call fcn.004f9f6f
pop ecx
pop ecx
mov ecx, dword [esp + 0x1dc]
xor edi, edi
lea eax, [ecx + ecx]
test eax, eax
jle 0x435071
push 4
lea esi, [esp + 0xe44]
pop ebx
push esi
push 0xac0ab4
call fcn.004f9f6f
pop ecx
pop ecx
mov ecx, dword [esp + 0x1dc]
inc edi
add esi, ebx
lea eax, [ecx + ecx]
cmp edi, eax
jl 0x435050
xor ebx, ebx
inc ebx
lea edx, [esp + 0xe40]
lea edx, [edx + ecx*8]
lea ecx, [esp + 0xe40]
call fcn.00446248
mov eax, dword [esp + 0x1dc]
mov edx, eax
lea esi, [eax + eax]
cmp eax, esi
jge 0x4350c7
xor ecx, ecx
test eax, eax
jle 0x4350b6
mov edi, dword [esp + edx*4 + 0xe40]
cmp edi, dword [esp + ecx*4 + 0xe40]
jle 0x4350b4
inc ecx
cmp ecx, eax
jl 0x4350a4
jmp 0x4350b6
xor bl, bl
inc edx
cmp edx, esi
jl 0x435097
test bl, bl
jne 0x4350c7
mov eax, 0xac0c1c
push eax
jmp 0x4350cc
push 0xac0c10
call fcn.004fae88
pop ecx
xor ecx, ecx
push 3
pop ebx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ecx
jl 0x4353e3
mov dword [esp + 0x1c], 0xfffffff7
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x1c], ebx
jg 0x4353d9
mov dword [esp + 0x50], 0x6c54
cmp dword [esp + 0x50], 0x6e70
jle 0x43537d
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], 0x1472
cmp dword [esp + 0x38], 0x9d6
jge 0x4352f6
lea eax, [esp + 0x228]
push eax
push ecx
lea eax, [esp + 0xd8]
push eax
push ecx
lea eax, [esp + 0x580]
mov ecx, 0xad3ec0
push eax
call fcn.004415ce
pop ecx
mov ecx, eax
call fcn.004415ce
pop ecx
mov ecx, eax
call fcn.004415ce
mov ecx, dword [esp + 0x570]
xor eax, eax
mov esi, dword [esp + 0xd4]
inc eax
mov edi, dword [esp + 0xd0]
sub ecx, eax
mov eax, dword [esp + 0x574]
push esi
push edi
sbb eax, 0
push eax
push ecx
call fcn.004fdd80
mov ecx, dword [esp + 0x22c]
cmp edx, ecx
jg 0x4351d1
jl 0x4351a2
cmp eax, dword [esp + 0x228]
jae 0x4351d1
mov ebx, 0xac0c1c
mov ecx, 0xad3d78
mov edx, ebx
call fcn.0042f475
push eax
call fcn.00446111
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
pop ecx
mov ecx, dword [esp + 0x22c]
jmp 0x4351d6
mov ebx, 0xac0c1c
cmp ecx, esi
jg 0x4351f8
jl 0x4351e5
cmp dword [esp + 0x228], edi
jae 0x4351f8
mov edx, ebx
mov ecx, 0xad3d78
call fcn.0042f475
push eax
call fcn.00446111
pop ecx
mov edx, 0xac0c10
mov ecx, 0xad3d78
call fcn.0042f475
push eax
call fcn.00446111
pop ecx
push dword [esp + 0xd4]
push dword [esp + 0xd4]
push dword [esp + 0x234]
push dword [esp + 0x234]
call fcn.0050ec50
mov dword [esp + 0x74], edx
xor edx, edx
mov edi, edx
mov dword [esp + 0x10], ebx
mov ebx, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
lea esi, [edx + 1]
cmp dword [esp + 0xd4], edx
jl 0x4352e9
jg 0x435264
cmp dword [esp + 0xd0], edx
jbe 0x4352e9
mov edx, dword [esp + 0x10]
test edx, edx
jl 0x435285
jg 0x435272
test ecx, ecx
je 0x435285
mov eax, dword [esp + 0x24]
inc eax
add ecx, 0xffffffff
mov dword [esp + 0x20], ecx
adc edx, 0xffffffff
mov dword [esp + 0x10], edx
mov ecx, ebx
and ecx, 0x80000001
jns 0x435294
dec ecx
or ecx, 0xfffffffe
inc ecx
cdq
jne 0x43529d
add esi, eax
adc edi, edx
jmp 0x4352a1
sub esi, eax
sbb edi, edx
push edi
push esi
mov ecx, 0xad3d78
call fcn.0042cb49
mov edx, 0xac0d78
mov ecx, eax
call fcn.0042f475
mov ecx, dword [esp + 0x20]
inc ebx
mov eax, ebx
cdq
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
cmp edx, dword [esp + 0xd4]
jl 0x435264
jg 0x4352e9
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0xd0]
mov eax, dword [esp + 0x24]
jb 0x435264
push 0xad3d78
call fcn.00446111
pop ecx
xor ecx, ecx
mov ebx, ecx
mov dword [esp + 0x10], 0x431d
mov edi, ecx
mov eax, ebx
mov esi, ecx
cdq
idiv edi
mov ecx, edx
mov dword [esp + 0x38], ecx
mov eax, esi
and eax, ecx
lea ecx, [esp + 0xb74]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x43532c
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xb74]
push 0
inc eax
push eax
call fcn.0040160a
mov ecx, dword [esp + 0x38]
inc esi
cmp esi, 0x73f1
jl 0x43530f
inc edi
push 0
pop ecx
cmp edi, 0x7b7e
jl 0x435302
mov eax, dword [esp + 0x30]
add ebx, eax
dec dword [esp + 0x10]
jne 0x435300
inc eax
mov dword [esp + 0x30], eax
cmp eax, 0x37b3
jl 0x435115
push 3
pop ebx
cmp dword [esp + 0x50], 0x69d4
jge 0x435392
push 0xac1220
call fcn.004f967e
pop ecx
mov eax, dword [esp + 0x388]
mov edx, dword [esp + 0x388]
mov ecx, dword [esp + 0x5f8]
push 0
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x38c]
mov edx, dword [esp + 0x38c]
mov ecx, dword [esp + 0x5fc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x20]
pop ecx
cmp dword [esp + 0x1c], ebx
jle 0x4350fb
dec dword [esp + 0x14]
jns 0x4350e5
dec dword [esp + 0x388]
jns 0x435001
push 4
pop edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x11
jl 0x434fca
lea ecx, [esp + 0x5f8]
call fcn.0042d79d
inc dword [esp + 0x34]
lea eax, [esp + 0x6a0]
cmp dword [esp + 0x34], 8
lea ecx, [esp + 0x6b0]
jge 0x4348cd
xor ebx, ebx
mov dword [esp + 0x34], 0x516a40
mov dword [esp + 0x60], ebx
cmp dword [esp + 0x84], ebx
jle 0x4376fe
mov dword [esp + 0x2c], 0x6f3c
cmp dword [esp + 0x2c], 0x7314
jle 0x43547f
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0xad3d78
xor eax, edi
cdq
push edx
push eax
call fcn.0042cb49
inc esi
cmp esi, 0x3c3f
jl 0x43545c
inc edi
cmp edi, 0x2b9b
jl 0x43545a
push 3
pop eax
mov dword [esp + 0x7c], 0xffffffff
lea ecx, [esp + 0x79c]
mov dword [esp + 0x1c], 0xfffffffe
push eax
call fcn.0042ce8d
mov dword [esp + 0x50], 0x6174
cmp dword [esp + 0x50], 0x6446
jle 0x435547
push ebx
push ebx
push ebx
call dword [0x1efd454]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], 0x6743
mov edi, dword [esp + 0x18]
mov esi, ebx
mov eax, edi
mov edi, 0x6e68
cdq
idiv esi
mov ebx, edx
mov eax, ebx
lea ecx, [esp + 0xa0c]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4354fb
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xa0c]
push 0
inc eax
push eax
call fcn.0040160a
dec ebx
dec edi
jne 0x4354e0
mov edi, dword [esp + 0x18]
inc esi
cmp esi, 0x3cde
jl 0x4354d4
mov edi, dword [esp + 0x30]
add dword [esp + 0x18], edi
dec dword [esp + 0x10]
push 0
pop ebx
jne 0x4354ce
inc edi
mov dword [esp + 0x30], edi
cmp edi, 0x347c
jl 0x4354c2
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x50], 0x60ab
jge 0x435560
push 0xac12b8
call fcn.004f967e
pop ecx
mov dword [esp + 0x18], 6
mov dword [esp + 0x38], 0x2556
cmp dword [esp + 0x38], 0x1247
jge 0x435631
lea eax, [esp + 0x3f4]
push eax
push ecx
lea eax, [esp + 0x26c]
mov ecx, 0xad3ec0
push eax
call fcn.0044137b
pop ecx
mov ecx, eax
call fcn.0044137b
mov esi, dword [esp + 0x264]
xor ecx, ecx
push 4
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004f51d1
mov edi, eax
mov dword [esp + 0x14], edi
pop ecx
test esi, esi
jle 0x4355e9
push 4
mov ebx, edi
pop edi
push ebx
mov ecx, 0xad3ec0
call fcn.0044137b
add ebx, edi
dec esi
jne 0x4355ce
mov esi, dword [esp + 0x264]
mov edi, dword [esp + 0x10]
lea ebx, [edi + esi*4]
mov ecx, edi
mov edx, ebx
call fcn.00446248
mov eax, esi
sub eax, dword [esp + 0x3f4]
mov edx, dword [edi + eax*4]
xor eax, eax
test esi, esi
jle 0x43561d
push 4
lea ecx, [ebx - 4]
pop ebx
cmp dword [ecx], 0
jle 0x43561d
cmp dword [ecx], edx
jl 0x43561d
inc eax
sub ecx, ebx
cmp eax, esi
jl 0x43560d
push eax
mov ecx, 0xad3d78
call fcn.00441b73
push eax
call fcn.00446111
pop ecx
xor ebx, ebx
push 3
mov dword [esp + 0x34], 0xc4f4
mov dword [esp + 0x18], ebx
pop edx
jmp 0x435654
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x79c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x435642
mov dword [esp + 0x38], 0x22f2
cmp dword [esp + 0x38], 0xf3d
jge 0x4356e2
movsd xmm0, qword [0xacc4f8]
mov eax, 0xffbd20
movsd qword [eax], xmm0
lea edi, [eax + 8]
mov esi, eax
mov ecx, 0xa2
add eax, 0x288
rep movsd dword es:[edi], dword [esi]
cmp eax, 0xffeab0
jle 0x435679
mov esi, 0xac0b30
jmp 0x4356be
mov edx, dword [esp + 0x2f8]
mov ecx, eax
call fcn.00430726
push ecx
push ecx
movsd qword [esp], xmm0
push 0xac1300
call fcn.004f967e
add esp, 0xc
lea eax, [esp + 0x2f8]
push eax
lea eax, [esp + 0x20c]
push eax
push esi
call fcn.004f9f6f
mov eax, dword [esp + 0x214]
add esp, 0xc
test eax, eax
jne 0x43569c
mov dword [esp + 0x5c], 0x5fd6
cmp dword [esp + 0x5c], 0x5fe5
jle 0x435813
mov edi, ebx
mov dword [esp + 0x50], ebx
mov ebx, edi
mov esi, 0x2a1a
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], 0x1b2b
cmp dword [esp + 0x38], 0x5dd
jge 0x4357dd
lea eax, [esp + 0x120]
push eax
push 0xac0ab8
call fcn.004f9f6f
mov eax, dword [esp + 0x128]
pop ecx
pop ecx
test eax, eax
je 0x4357d5
dec eax
mov dword [esp + 0x120], eax
lea eax, [esp + 0x3fc]
push eax
push 0xac0ab8
call fcn.004f9f6f
mov ebx, dword [esp + 0x404]
pop ecx
pop ecx
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
call fcn.00513380
cvttsd2si ecx, xmm0
xor edx, edx
lea esi, [edx + 1]
cmp ecx, 0xb
lea eax, [ecx - 0xa]
cmovge esi, eax
lea eax, [ecx + 0xa]
mov dword [esp + 0x38], eax
lea ecx, [ebx + 1]
cmp esi, eax
jg 0x4357b1
mov edi, eax
lea eax, [ebx - 1]
add eax, esi
cdq
idiv esi
add eax, 0xfffffffe
add eax, esi
cmp ecx, eax
cmovl eax, ecx
inc esi
mov ecx, eax
cmp esi, edi
jle 0x435798
push ecx
push 0xac0b4c
call fcn.004f967e
mov eax, dword [esp + 0x128]
pop ecx
pop ecx
test eax, eax
jne 0x435746
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
dec eax
mov dword [esp + 0x120], eax
mov eax, ebx
mov ecx, 0xad3d78
cdq
push edx
push eax
call fcn.0042cb49
dec ebx
dec esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], esi
jne 0x43570d
mov edi, dword [esp + 0x50]
inc edi
mov dword [esp + 0x50], edi
cmp edi, 0x43ea
jl 0x4356fe
xor ebx, ebx
push 4
mov dword [esp + 0x18], ebx
pop ecx
jmp 0x43582f
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x6c0], 0x6d56a426
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x43581c
cmp dword [esp + 0x5c], 0x5d73
jge 0x43584e
mov edx, 0xac1308
mov ecx, 0xad3d78
call fcn.0042f475
mov eax, dword [esp + 0x6c8]
xor ecx, ecx
mov eax, dword [esp + 0x6c8]
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c8]
cmp eax, 0x3fa8b74
mov eax, dword [esp + 0x6c0]
setge cl
xor edx, edx
cmp ecx, 6
setle dl
xor ecx, ecx
cmp edx, eax
sete cl
add ecx, 0xfffb
je 0x4358a0
cmp dword [esp + 0x1c], ebx
je 0x4358a0
cmp dword [esp + 0x7c], ebx
je 0x4358a0
xor eax, eax
inc eax
jmp 0x4358a2
mov eax, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x6739
cmp dword [esp + 0x10], 0x68ff
jle 0x435902
mov esi, ebx
mov edi, esi
mov ebx, 0x2b90
mov eax, edi
lea ecx, [esp + 0xa9c]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4358dc
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xa9c]
push 0
inc eax
push eax
call fcn.0040160a
dec edi
dec ebx
jne 0x4358c1
inc esi
cmp esi, 0x27f9
jl 0x4358ba
push 0xa
mov dword [esp + 0x20], 0x10
pop esi
jmp 0x43595c
mov dword [esp + 0x14], ebx
jmp 0x435951
mov dword [esp + 0x38], 8
mov dword [esp + 0x18], 0xfffffff5
jmp 0x435946
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x43593a
push ebx
push ebx
call dword [0x1efd2b0]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], eax
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff0
jl 0x435927
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x1f
jge 0x435915
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
je 0x43590f
cmp dword [esp + 0x10], 0x639d
jge 0x435977
push 0xac1328
call fcn.004f967e
pop ecx
lea ecx, [esp + 0x79c]
call fcn.0042d79d
cmp dword [esp + 0x2c], 0x6c08
jge 0x43599c
mov edx, 0xac1258
mov ecx, 0xad3d78
call fcn.0042f475
mov dword [esp + 0x10], 0x4d7b
cmp dword [esp + 0x10], 0x5013
jle 0x4359fd
mov esi, ebx
jmp 0x4359b4
xor ebx, ebx
mov edi, ebx
mov ebx, 0x591a
mov eax, edi
lea ecx, [esp + 0xa3c]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4359d6
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xa3c]
push 0
inc eax
push eax
call fcn.0040160a
add edi, esi
dec ebx
jne 0x4359bb
inc esi
cmp esi, 0x5011
jl 0x4359b2
cmp dword [esp + 0x10], 0x4c0d
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx]
mov dword [esp + 0x70], eax
jge 0x435a1c
push 0xac1388
call fcn.004f967e
pop ecx
push 4
pop eax
add ebx, eax
mov dword [esp + 0x30], 0x60d4
cmp dword [esp + 0x30], 0x630a
mov dword [esp + 0x34], ebx
jle 0x435aa2
xor edx, edx
mov eax, edx
mov dword [esp + 0x20], edx
mov ebx, edx
mov dword [esp + 0x10], edx
mov ecx, ebx
mov esi, edx
shl eax, cl
mov dword [esp + 0x38], eax
mov ebx, eax
mov ecx, esi
mov edi, edx
shl ebx, cl
mov eax, ebx
mov ecx, 0xad3d78
or eax, edi
cdq
push edx
push eax
call fcn.0042cb49
inc edi
cmp edi, 0x513d
jl 0x435a57
mov eax, dword [esp + 0x38]
inc esi
push 0
pop edx
cmp esi, 0x6803
jl 0x435a4f
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, 0x2f03
jl 0x435a45
inc eax
mov dword [esp + 0x20], eax
cmp eax, 0x4a19
jl 0x435a3f
mov dword [esp + 0x38], 0x1a75
cmp dword [esp + 0x38], 0x7dd
jge 0x435b48
lea eax, [esp + 0x26c]
mov ebx, 0xac1404
push eax
lea eax, [esp + 0x86]
push eax
lea eax, [esp + 0x88]
push eax
push ebx
call fcn.004f9f6f
add esp, 0x10
push 3
pop esi
jmp 0x435b44
movsx eax, byte [esp + 0x80]
imul ecx, eax, 0xa
movsx eax, byte [esp + 0x82]
add eax, 0xfffffdf0
add ecx, eax
mov eax, dword [esp + 0x26c]
test eax, eax
jle 0x435b0e
imul ecx, ecx, 0xa
dec eax
jne 0x435b08
test ecx, ecx
je 0x435b48
call fcn.004307af
inc eax
push eax
push 0xac0b2c
call fcn.004f967e
lea eax, [esp + 0x274]
push eax
lea eax, [esp + 0x8e]
push eax
lea eax, [esp + 0x90]
push eax
push ebx
call fcn.004f9f6f
add esp, 0x18
cmp eax, esi
je 0x435ae3
mov dword [esp + 0x14], 8
cmp dword [esp + 0x30], 0x5fab
jge 0x435b69
mov edx, 0xac13d4
mov ecx, 0xad3d78
call fcn.0042f475
xor eax, eax
lea ecx, [esp + 0x2ec]
inc eax
push eax
call fcn.0042ce8d
mov dword [esp + 0x10], 0x23fe
xor ebx, ebx
mov dword [esp + 0x38], 0x21f0
cmp dword [esp + 0x38], 0x7f1
jge 0x435d99
push ebx
push ebx
lea ecx, [esp + 0x5c4]
mov dword [esp + 0x5d4], ebx
mov dword [esp + 0x5d8], ebx
call fcn.0040160a
push ebx
push ebx
lea ecx, [esp + 0x59c]
mov dword [esp + 0x5ac], ebx
mov dword [esp + 0x5b0], ebx
call fcn.0040160a
xor eax, eax
mov dword [esp + 0xb98], 0xac2d10
inc eax
mov dword [esp + 0xc08], 0xab938c
or dword [esp + 0x48], eax
lea ecx, [esp + 0xb98]
push ebx
push ebx
lea eax, [esp + 0xbb0]
push eax
call fcn.004430b6
mov eax, dword [esp + 0xb98]
push ebx
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xb9c], 0xac2ce8
mov eax, dword [esp + 0xb9c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [esp + ecx + 0xb98], eax
lea ecx, [esp + 0xbac]
call fcn.00443576
sub esp, 0xc
lea ecx, [esp + 0xba4]
call fcn.0044241f
lea edx, [esp + 0x5bc]
lea ecx, [esp + 0xb98]
call fcn.00446f4f
lea edx, [esp + 0x594]
mov ecx, eax
call fcn.00446f4f
lea ecx, [esp + 0xba8]
call fcn.0044359a
test eax, eax
jne 0x435c9a
mov eax, dword [esp + 0xb98]
lea ecx, [esp + 0xb98]
push ebx
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0xc]
or eax, 2
push eax
call fcn.0042d3b8
push 0xac0d14
push 0xac0d18
call fcn.004fa9f9
pop ecx
pop ecx
mov edi, 0xac1410
lea ecx, [esp + 0x5bc]
push edi
mov esi, eax
call fcn.00441326
test eax, eax
jne 0x435cd8
push 0xac1418
lea ecx, [esp + 0x598]
call fcn.00441326
test eax, eax
je 0x435d57
push edi
lea ecx, [esp + 0x5c0]
call fcn.00441326
test eax, eax
jne 0x435d06
push 0xac1420
lea ecx, [esp + 0x598]
call fcn.00441326
test eax, eax
jne 0x435d06
push esi
push 0xac1424
jmp 0x435d5d
mov edi, 0xac1428
lea ecx, [esp + 0x5bc]
push edi
call fcn.00441326
test eax, eax
jne 0x435d31
push 0xac1418
lea ecx, [esp + 0x598]
call fcn.00441326
test eax, eax
je 0x435cfe
push edi
lea ecx, [esp + 0x5c0]
call fcn.00441326
test eax, eax
jne 0x435d64
push 0xac1420
lea ecx, [esp + 0x598]
call fcn.00441326
test eax, eax
jne 0x435d64
push esi
push 0xac141c
call fcn.004fa00f
pop ecx
pop ecx
push esi
call fcn.004fb049
pop ecx
lea ecx, [esp + 0xb98]
call fcn.00438e2a
xor eax, eax
lea ecx, [esp + 0x594]
push ebx
inc eax
push eax
call fcn.0040160a
xor eax, eax
lea ecx, [esp + 0x5bc]
push ebx
inc eax
push eax
call fcn.0040160a
cmp dword [esp + 0x10], 0x2454
jle 0x435dee
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [esp + 0x8ec]
and eax, edi
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x435dc4
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x8ec]
push ebx
inc eax
push eax
call fcn.0040160a
inc esi
cmp esi, 0x74ab
jl 0x435da7
inc edi
cmp edi, 0x5f56
jl 0x435da5
mov dword [esp + 0x18], 0xfffffffb
cmp dword [esp + 0x10], 0x2337
jge 0x435e0b
push 0xac1430
call fcn.004f967e
pop ecx
xor edx, edx
mov dword [esp + 0x14], ebx
inc edx
jmp 0x435e2a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2ec]
mov dword [eax + ecx*4], 0x7dd6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x435e14
push 3
mov dword [esp + 0x18], ebx
pop ecx
jmp 0x435e4c
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x7f0], 0xfffffffa
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x435e39
mov dword [esp + 0x14], ebx
jmp 0x435ebb
mov dword [esp + 0x10], 0x5843
cmp dword [esp + 0x10], 0x5a55
jle 0x435e90
mov esi, ebx
mov edi, ebx
mov ebx, 0x666f
mov eax, edi
mov ecx, 0xad3d78
cdq
push edx
push eax
call fcn.0042cb49
add edi, esi
dec ebx
jne 0x435e73
inc esi
cmp esi, 0x413b
jl 0x435e6c
mov dword [esp + 0x38], 0xffffffff
cmp dword [esp + 0x10], 0x55c8
jge 0x435eb1
mov edx, 0xac146c
mov ecx, 0xad3d78
call fcn.0042f475
cmp dword [esp + 0x38], ebx
jne 0x435ec2
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff8
jl 0x435e58
mov dword [esp + 0x14], ebx
jmp 0x43634d
mov dword [esp + 0x38], 0x1a22
cmp dword [esp + 0x38], 0x8af
jge 0x435f30
lea eax, [esp + 0x47c]
push eax
push ecx
lea eax, [esp + 0x40c]
mov ecx, 0xad3ec0
push eax
call fcn.0044137b
pop ecx
mov ecx, eax
call fcn.0044137b
mov ecx, dword [esp + 0x404]
mov edx, 0xac1498
mov eax, dword [esp + 0x47c]
add eax, ecx
push eax
push ecx
mov ecx, 0xad3d78
call fcn.0042f475
pop ecx
mov ecx, eax
call fcn.00441b73
push eax
call fcn.00446111
pop ecx
mov dword [esp + 0x5c], 0x1cc9
cmp dword [esp + 0x5c], 0x1e4f
jle 0x435f9b
mov edi, ebx
mov eax, ebx
mov dword [esp + 0x50], 0xb54
mov dword [esp + 0x30], eax
mov ebx, eax
mov dword [esp + 0x10], 0x5458
xor esi, esi
mov eax, ebx
mov ecx, 0xad3d78
or eax, esi
cdq
push edx
push eax
call fcn.0042cb49
inc esi
cmp esi, 0x2881
jl 0x435f5e
dec ebx
dec dword [esp + 0x10]
jne 0x435f5c
mov eax, dword [esp + 0x30]
add eax, edi
dec dword [esp + 0x50]
mov dword [esp + 0x30], eax
jne 0x435f52
inc edi
push 0
pop ebx
cmp edi, 0x5e24
jl 0x435f44
push 3
pop eax
mov dword [esp + 0x24], eax
cmp dword [esp + 0x5c], 0x1bf5
jge 0x435fbb
mov edx, 0xac14a0
mov ecx, 0xad3d78
call fcn.0042f475
mov dword [esp + 0x38], 0xa1dd7933
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2ec]
mov edx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], 0x524d
mov dword [esp + 0x38], 0x1969
cmp dword [esp + 0x38], 0x64b
jge 0x43624e
lea eax, [esp + 0xa8]
push eax
push 0xac0ab8
call fcn.004f9f6f
pop ecx
pop ecx
push dword [esp + 0xa8]
lea ecx, [esp + 0x508]
call fcn.0042ce8d
mov edi, dword [esp + 0xa8]
test edi, edi
jle 0x436058
mov esi, dword [esp + 0x504]
push esi
push 0xac0ab8
call fcn.004f9f6f
mov edi, dword [esp + 0xb0]
inc ebx
pop ecx
pop ecx
push 4
pop eax
add esi, eax
cmp ebx, edi
jl 0x43603a
xor ecx, ecx
or eax, 0xffffffff
mov dword [esp + 0x1c], eax
mov esi, ecx
mov dword [esp + 0x20], esi
mov ebx, ecx
mov dword [esp + 0x210], ebx
mov dword [esp + 0x214], esi
mov dword [esp + 0x218], ecx
test edi, edi
jle 0x4361fd
mov ebx, ecx
mov dword [esp + 0x50], ebx
test ecx, ecx
jle 0x4360d2
mov eax, dword [esp + 0x504]
mov edi, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffffc
mov dword [esp + 0x10], eax
cmp edi, dword [eax]
jg 0x4360c3
mov eax, dword [eax]
cdq
idiv edi
test edx, edx
jne 0x4360c3
mov eax, dword [esp + 0x10]
dec ebx
push 4
pop edx
sub eax, edx
mov dword [esp + 0x10], eax
test ebx, ebx
jg 0x4360a4
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], ebx
lea edx, [ecx + 1]
mov dword [esp + 0x38], edx
cmp edx, edi
jge 0x436129
mov eax, dword [esp + 0x504]
push 4
mov dword [esp + 0x34], edx
pop esi
mov ebx, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
add eax, 4
mov dword [esp + 0x10], eax
cmp ebx, dword [eax]
jg 0x43611d
mov eax, dword [eax]
cdq
idiv ebx
test edx, edx
jne 0x43611d
mov eax, dword [esp + 0x10]
inc ecx
mov edx, dword [esp + 0x30]
add eax, esi
inc edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], edx
cmp edx, edi
jl 0x4360f8
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
sub ecx, ebx
cmp ecx, eax
jle 0x4361b4
lea eax, [ebx + 1]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x484], eax
lea ecx, [esp + 0x82c]
lea eax, [esp + 0x484]
push eax
xor eax, eax
inc eax
push eax
call fcn.004420ce
mov edi, eax
lea eax, [esp + 0x210]
cmp eax, edi
je 0x4361a6
mov ecx, eax
call fcn.0042d79d
mov eax, dword [edi]
xor ecx, ecx
mov esi, dword [edi + 4]
mov dword [esp + 0x210], eax
mov eax, dword [edi + 8]
mov byte [esp + 0x227], cl
mov byte [esp + 0x1cf], cl
mov dword [esp + 0x20], esi
mov dword [esp + 0x214], esi
mov dword [esp + 0x218], eax
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
lea ecx, [esp + 0x82c]
call fcn.0042d79d
jmp 0x4361df
jne 0x4361ea
lea eax, [ebx + 1]
mov dword [esp + 0x48c], eax
lea ecx, [esp + 0x210]
lea eax, [esp + 0x48c]
push eax
call fcn.004420f0
mov esi, dword [esp + 0x214]
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x38]
cmp ecx, edi
jl 0x436086
mov ebx, dword [esp + 0x210]
sub esi, ebx
push eax
sar esi, 2
push esi
push 0xac0b40
call fcn.004f967e
add esp, 0xc
xor edi, edi
test esi, esi
je 0x43622b
push dword [ebx + edi*4]
push 0xac0c14
call fcn.004f967e
inc edi
pop ecx
pop ecx
cmp edi, esi
jb 0x436217
push 0xabec31
call fcn.004fae88
pop ecx
lea ecx, [esp + 0x210]
call fcn.0042d79d
lea ecx, [esp + 0x504]
call fcn.0042d79d
cmp dword [esp + 0x5c], 0x5404
jle 0x436283
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [esi + edi]
mov ecx, 0xad3d78
cdq
push edx
push eax
call fcn.0042cb49
inc esi
cmp esi, 0x2189
jl 0x43625e
inc edi
push 0
pop eax
cmp edi, 0x6f2d
jl 0x43625c
mov edi, dword [esp + 0x14]
mov edx, 0xd4a1
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x2ec]
push 4
sub edx, dword [eax + ecx*4]
neg edx
pop eax
sbb edx, edx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x18]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setge dl
xor eax, eax
add edx, dword [esp + 0x24]
mov esi, dword [esp + 0x2ec]
cmp dword [esi + edi*4], edx
setl al
xor ecx, ecx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x7f4]
sbb ecx, ecx
neg ecx
imul ecx, dword [esi + ebx*4]
imul eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + edx*4]
sub ecx, eax
imul eax, ecx, 0x313
add eax, 0x2525cc47
je 0x436312
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2ec]
cmp dword [eax + ecx*4], 0xffffffff
sete dl
mov dword [esp + 0x38], edx
cmp dword [esp + 0x5c], 0x5059
jge 0x436347
mov edx, 0xac14e8
mov ecx, 0xad3d78
call fcn.0042f475
inc dword [esp + 0x14]
xor ebx, ebx
cmp dword [esp + 0x14], ebx
jle 0x435ecb
lea ecx, [esp + 0x2ec]
call fcn.0042d79d
mov ecx, dword [esp + 0x34]
push 4
mov eax, dword [ecx]
mov dword [esp + 0x19c], eax
pop eax
add ecx, eax
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x670]
push 2
call fcn.0042ce8d
mov dword [esp + 0x1c], 0x4801897a
mov dword [esp + 0x30], 0x4cdc
mov dword [esp + 0x38], 0x1511
cmp dword [esp + 0x38], 0xe1d
jge 0x436560
lea eax, [esp + 0x274]
push eax
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0xc8]
push eax
push 0xac1540
call fcn.004f9f6f
add esp, 0x14
lea ecx, [esp + 0x7e4]
push dword [esp + 0xbc]
call fcn.0042ce8d
cmp dword [esp + 0xbc], 0
mov edi, ebx
mov ebx, dword [esp + 0x7e4]
mov dword [esp + 0x38], ebx
jle 0x436426
push 4
mov esi, ebx
pop ebx
push esi
push 0xac0ab4
call fcn.004f9f6f
inc edi
add esi, ebx
pop ecx
pop ecx
cmp edi, dword [esp + 0xbc]
jl 0x436409
mov ebx, dword [esp + 0x38]
and dword [esp + 0x494], 0
lea eax, [esp + 0x494]
push eax
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x80c]
inc eax
push eax
call fcn.004420ce
push eax
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0x680]
inc eax
push eax
call fcn.004423a8
lea ecx, [esp + 0x808]
call fcn.0042d79d
mov edi, dword [esp + 0x67c]
xor ecx, ecx
inc ecx
xor esi, esi
mov dword [esp + 0x10], esi
mov eax, dword [edi]
mov dword [eax], ecx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
test edx, edx
jle 0x436518
mov dword [esp + 0x20], 1
cmp eax, 1
jl 0x43650c
mov edx, dword [esp + 0x20]
add edi, 0xc
xor esi, esi
test ecx, ecx
js 0x4364ee
cmp esi, dword [ebx]
jl 0x4364de
inc edx
add edi, 0xc
mov dword [esp + 0x20], edx
cmp edx, eax
jle 0x4364ae
inc esi
add ebx, 4
mov dword [esp + 0x10], esi
cmp esi, edx
jl 0x43649a
xor ebx, ebx
mov edx, ebx
test ecx, ecx
js 0x43653b
imul eax, eax, 0xc
inc ecx
mov esi, dword [eax + edi]
mov eax, dword [esi]
add eax, edx
cdq
idiv dword [esp + 0x274]
push 4
pop eax
add esi, eax
dec ecx
jne 0x436527
push edx
push 0xac0b4c
call fcn.004f967e
pop ecx
pop ecx
lea ecx, [esp + 0x67c]
call fcn.00443542
lea ecx, [esp + 0x7e4]
call fcn.0042d79d
cmp dword [esp + 0x30], 0x4d0e
jle 0x4365bf
mov esi, ebx
jmp 0x436570
mov edi, ebx
mov ebx, 0x362f
mov eax, edi
lea ecx, [esp + 0xa6c]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x436592
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xa6c]
push 0
inc eax
push eax
call fcn.0040160a
add edi, esi
dec ebx
jne 0x436577
inc esi
cmp esi, 0x181d
jl 0x43656e
mov dword [esp + 0x38], 0x8c08872f
cmp dword [esp + 0x30], 0x4915
jge 0x4365dc
push 0xac1550
call fcn.004f967e
pop ecx
mov dword [esp + 0x38], 0x2396
cmp dword [esp + 0x38], 0x585
jge 0x436657
lea eax, [esp + 0x49c]
mov ecx, 0xad3ec0
push eax
call fcn.004414ba
mov esi, dword [esp + 0x49c]
xor eax, eax
push 2
pop ecx
push 4
lea edi, [eax + 1]
mov ebx, esi
pop eax
cmp esi, eax
jl 0x43662f
mov eax, esi
cdq
idiv ecx
test edx, edx
cmove ebx, eax
cmove edi, ecx
inc ecx
mov eax, ecx
imul eax, ecx
cmp eax, esi
jle 0x436618
push ebx
push ecx
push edi
mov ecx, 0xad3d78
call fcn.00441b73
mov edx, 0xac0d78
mov ecx, eax
call fcn.0042f475
pop ecx
mov ecx, eax
call fcn.00441b73
push eax
call fcn.00446111
pop ecx
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x38], 0x19570a50
mov dword [esp + 0x38], 0x1aae4b9
mov dword [esp + 0x50], 0x2ef1
cmp dword [esp + 0x50], 0x3017
jle 0x436841
xor ebx, ebx
push ebx
call dword [0x1efd030]
mov dword [esp + 0x38], 0x1764
cmp dword [esp + 0x38], 0xb45
jge 0x4367c2
xor ebx, ebx
inc ebx
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x50], 0x2bd1
jge 0x43685d
mov dword [esp + 0x70], 0x22e3
cmp dword [esp + 0x70], 0xc90
jge 0x4377ab
lea eax, [esp + 0x3d8]
mov edi, ebx
push eax
push ecx
lea eax, [esp + 0x29c]
mov ecx, 0xad3ec0
push eax
call fcn.0044137b
pop ecx
mov ecx, eax
call fcn.0044137b
mov esi, dword [esp + 0x294]
test esi, esi
je 0x437773
mov ebx, dword [esp + 0x3d8]
lea eax, [esp + 0x480]
mov ecx, 0xad3ec0
push eax
dec esi
call fcn.0044137b
mov eax, dword [esp + 0x480]
add eax, ebx
cmp eax, 5
jg 0x43776d
inc edi
test esi, esi
jne 0x43774b
xor ebx, ebx
dec esi
push 3
mov dword [esp + 0x298], esi
pop esi
cmp edi, esi
jge 0x437794
push ebx
mov ecx, 0xad3d78
call fcn.00441b73
push eax
call fcn.00446111
pop ecx
mov eax, edi
mov ecx, 0xad3d78
cdq
idiv esi
push eax
call fcn.00441b73
push eax
call fcn.00446111
pop ecx
xor eax, eax
inc eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], 0x2003
mov dword [esp + 0x70], 0x1c87
cmp dword [esp + 0x70], 0x6d8
jge 0x43783f
mov esi, 0xac1074
jmp 0x437820
movsx eax, byte [esp + 0x6b]
push eax
call fcn.004fa8d0
pop ecx
cmp al, 0x65
je 0x437820
cmp al, 0x61
je 0x437820
cmp al, 0x69
je 0x437820
cmp al, 0x6f
je 0x437820
cmp al, 0x75
je 0x437820
cmp al, 0x79
je 0x437820
movsx eax, byte [esp + 0x6b]
push eax
call fcn.004f9d76
pop ecx
test eax, eax
jne 0x437820
movsx eax, byte [esp + 0x6b]
push eax
call fcn.004fa8d0
pop ecx
push eax
push 0xac1724
call fcn.004f967e
pop ecx
pop ecx
lea eax, [esp + 0x6b]
push eax
push esi
call fcn.004f9f6f
pop ecx
pop ecx
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x4377d3
push 0xac0f78
call fcn.004f967e
pop ecx
cmp dword [esp + 0x48], 0x206e
jle 0x437894
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [esp + 0x934]
xor eax, edi
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x43786a
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x934]
push ebx
inc eax
push eax
call fcn.0040160a
inc esi
cmp esi, 0x1b19
jl 0x43784d
inc edi
cmp edi, 0x1cd7
jl 0x43784b
mov dword [esp + 0x10], 0xfffffff6
cmp dword [esp + 0x48], 0x1ed7
jge 0x4378b1
push 0xac1728
call fcn.004f967e
pop ecx
mov dword [esp + 0x24], 0x4182bd7b
mov dword [esp + 0x48], 0x7c8a6b95
mov dword [esp + 0x14], 0xfffffff9
mov dword [esp + 0x50], 0xfcf09cc2
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x70], 0xfffffffb
mov dword [esp + 0x20], 7
mov dword [esp + 0x1c], 0xffff
mov dword [esp + 0x70], 0x1fd6
cmp dword [esp + 0x70], 0x109e
jge 0x437a1e
push 0xb05d01
push 0xac177c
call fcn.004f9f6f
pop ecx
pop ecx
test eax, eax
je 0x437a1e
cmp byte [0xb05d01], 0x24
je 0x437a1c
xor eax, eax
mov esi, 0xc2b100
xor edi, edi
lea ebx, [eax + 1]
push esi
push 0xac0b38
call fcn.004f9f6f
pop ecx
pop ecx
xor edx, edx
mov ecx, edx
xor eax, eax
cmp byte [ecx + esi], 0x2e
push 4
sete al
add edi, eax
inc ecx
pop eax
cmp ecx, eax
jl 0x43794e
add esi, 5
cmp esi, 0xc2b114
jl 0x43793d
dec edi
mov eax, edx
mov dword [esp + 0x70], edi
mov edi, 0xc2b100
mov dword [esp + 0x84], eax
cmp edi, 0xc2b114
jge 0x4379f4
mov esi, edx
test bl, bl
je 0x4379e5
push 4
pop eax
cmp esi, eax
jge 0x4379dc
cmp byte [esi + edi], 0x2e
jne 0x4379d7
mov byte [esi + edi], 0x78
call fcn.00430895
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x4379b9
mov edx, dword [esp + 0x70]
xor ecx, ecx
call fcn.00430996
test al, al
je 0x4379d0
push esi
push dword [esp + 0x88]
xor bl, bl
push 0xac1780
call fcn.004f967e
add esp, 0xc
push 4
mov byte [esi + edi], 0x2e
pop eax
inc esi
test bl, bl
jne 0x437990
mov eax, dword [esp + 0x84]
xor edx, edx
inc eax
add edi, 5
mov dword [esp + 0x84], eax
test bl, bl
jne 0x43797f
test bl, bl
je 0x437a03
push 0xac178c
call fcn.004fae88
pop ecx
push 0xb05d01
push 0xac177c
call fcn.004f9f6f
pop ecx
pop ecx
test eax, eax
jne 0x437924
xor ebx, ebx
mov dword [esp + 0x48], 0x1baf
cmp dword [esp + 0x48], 0x1c13
jle 0x437a67
xor eax, eax
mov esi, eax
mov edi, eax
mov eax, edi
mov ecx, 0xad3d78
xor eax, esi
or eax, ebx
cdq
push edx
push eax
call fcn.0042cb49
inc edi
cmp edi, 0x7e0e
jl 0x437a36
inc esi
push 0
pop eax
cmp esi, 0x31af
jl 0x437a34
inc ebx
cmp ebx, 0x32ce
jl 0x437a30
push 3
pop esi
mov dword [esp + 0x70], esi
cmp dword [esp + 0x48], 0x1ada
jge 0x437a87
mov edx, 0xac1794
mov ecx, 0xad3d78
call fcn.0042f475
inc dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor ebx, ebx
imul ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x1c]
jge 0x437ac4
cmp dword [esp + 0x24], ebx
je 0x437ac4
xor eax, eax
lea edx, [eax + 1]
jmp 0x437ac6
mov edx, ebx
mov eax, dword [esp + 0x5c]
xor ecx, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
cmp edx, eax
mov eax, dword [esp + 0x1c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x50]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
inc edx
cmp dword [esp + 0x48], edx
sbb eax, eax
inc eax
cmp eax, ecx
jne 0x437b65
mov dword [esp + 0x18], 0x6b5a7dd9
mov eax, dword [esp + 0x18]
imul eax, dword [esp + 0x18]
test eax, eax
je 0x437b3b
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x14], ebx
je 0x437b3b
xor eax, eax
inc eax
jmp 0x437b3d
mov eax, ebx
mov edx, dword [esp + 0x18]
xor ecx, ecx
sub edx, eax
sub edx, dword [esp + 0x18]
imul edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp edx, eax
setle cl
imul ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x437d71
mov dword [esp + 0x48], ebx
mov dword [esp + 0x48], 0x96add890
mov dword [esp + 0x1c], ebx
jmp 0x437b8a
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x658], 8
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x437b77
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], 0xfffffffe
jg 0x437d0d
mov dword [esp + 0x30], 0xc50
cmp dword [esp + 0x30], 0xcb6
jle 0x437ce0
mov dword [esp + 0x10], ebx
mov dword [esp + 0x70], 0x24e0
cmp dword [esp + 0x70], 0xfef
jge 0x437c5f
lea eax, [esp + 0x12c]
push eax
push 0xac0ab8
call fcn.004f9f6f
jmp 0x437c4a
dec eax
mov dword [esp + 0x12c], eax
lea eax, [esp + 0x468]
push eax
lea eax, [esp + 0x2ac]
push eax
lea eax, [esp + 0x3e8]
push eax
push 0xac0d24
call fcn.004f9f6f
mov eax, dword [esp + 0x478]
add esp, 0x10
cdq
idiv dword [esp + 0x58]
mov ecx, dword [esp + 0x3e0]
mov esi, ecx
xor esi, dword [esp + 0x2a8]
test edx, edx
je 0x437c3f
xor eax, eax
mov ecx, esi
inc eax
cmp edx, eax
cmove ecx, dword [esp + 0x2a8]
push ecx
push 0xac0b4c
call fcn.004f967e
mov eax, dword [esp + 0x134]
pop ecx
pop ecx
test eax, eax
jne 0x437be3
dec eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x48], 0x41d7
mov edi, dword [esp + 0x1c]
mov esi, ebx
mov ebx, edi
mov edi, 0x6d5
mov eax, ebx
lea ecx, [esp + 0x964]
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x437c93
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x964]
push 0
inc eax
push eax
call fcn.0040160a
add ebx, esi
dec edi
jne 0x437c78
mov edi, dword [esp + 0x1c]
dec esi
cmp esi, 0xffffb128
jg 0x437c71
mov edi, dword [esp + 0x10]
add dword [esp + 0x1c], edi
dec dword [esp + 0x48]
push 0
pop ebx
jne 0x437c6b
inc edi
mov dword [esp + 0x10], edi
cmp edi, 0x728
jl 0x437bb9
cmp dword [esp + 0x18], ebx
jne 0x437d0a
cmp dword [esp + 0x30], 0xad9
jge 0x437cfb
push 0xac17d4
call fcn.004f967e
pop ecx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffe
jle 0x437b9f
xor edx, edx
inc edx
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x65c], eax
jg 0x437d3d
mov eax, dword [esp + 0x50]
mov ecx, ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x65c]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + 0x4c]
jmp 0x437d3f
mov ecx, edx
mov eax, dword [esp + 0x65c]
mov dword [esp + 0x48], eax
xor eax, eax
cmp ecx, 0xffffffff
setl al
xor edx, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
cmp ecx, eax
setne dl
mov dword [esp + 0x70], edx
mov dword [esp + 0x10], 0x3122
cmp dword [esp + 0x10], 0x31f3
jle 0x437e71
mov dword [esp + 0x48], ebx
xor edi, edi
mov dword [esp + 0x58], 0x1b4a
cmp dword [esp + 0x58], 0x1088
jge 0x437e29
lea eax, [esp + 0x29c]
push eax
lea eax, [esp + 0x494]
push eax
push 0xac0b30
call fcn.004f9f6f
mov ecx, dword [esp + 0x49c]
add esp, 0xc
lea eax, [ecx + 1]
imul eax, ecx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x29c]
cdq
sar ecx, 1
idiv ecx
mov esi, edx
mov dword [esp + 0x29c], esi
lea eax, [esi*8 + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call fcn.00513380
subsd xmm0, qword [0xacc4a0]
mulsd xmm0, qword [0xacc490]
cvttsd2si ecx, xmm0
lea eax, [ecx + 1]
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
sub esi, eax
push esi
push 0xac0b2c
call fcn.004f967e
pop ecx
pop ecx
mov eax, edi
xor esi, esi
and eax, ebx
mov dword [esp + 0x58], eax
mov ebx, eax
mov eax, esi
mov ecx, 0xad3d78
xor eax, ebx
cdq
push edx
push eax
call fcn.0042cb49
inc esi
cmp esi, 0x5362
jl 0x437e35
mov ebx, dword [esp + 0x48]
inc edi
cmp edi, 0x6bac
jl 0x437d8d
inc ebx
mov dword [esp + 0x48], ebx
cmp ebx, 0x67d5
jl 0x437d8b
cmp dword [esp + 0x10], 0x304b
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx]
mov dword [esp + 0x20], eax
jge 0x437e94
mov edx, 0xac180c
mov ecx, 0xad3d78
call fcn.0042f475
push 4
pop ecx
add ebx, ecx
mov eax, dword [ebx]
add ebx, ecx
mov dword [esp + 0x24], 5
mov dword [esp + 0x5c], 0x4c865b49
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x48], 0x747a
cmp dword [esp + 0x48], 0x74b3
mov dword [esp + 0x7c], eax
mov dword [esp + 0x34], ebx
jle 0x437f23
xor ebx, ebx
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [esp + 0x994]
xor eax, edi
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x437ef2
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x994]
push ebx
inc eax
push eax
call fcn.0040160a
inc esi
cmp esi, 0x2c0
jl 0x437ed5
inc edi
cmp edi, 0x41b7
jl 0x437ed3
push ebx
call dword [0x1efd27c]
mov dword [esp + 0x58], 6
cmp dword [esp + 0x48], 0x7418
jge 0x437f40
push 0xac1824
call fcn.004f967e
pop ecx
mov dword [esp + 0x48], 0x5acb
mov dword [esp + 0x58], 0x1703
cmp dword [esp + 0x58], 0x522
jge 0x438053
lea eax, [esp + 0x108]
push eax
push 0xac0ab8
call fcn.004f9f6f
jmp 0x43803a
dec eax
mov dword [esp + 0x108], eax
lea eax, [esp + 0xec]
push eax
push 0xac0ab8
call fcn.004f9f6f
mov eax, dword [esp + 0xf4]
pop ecx
pop ecx
and eax, 0x80000003
jns 0x437fa4
dec eax
or eax, 0xfffffffc
inc eax
je 0x437fb6
mov eax, 0xac0c1c
push eax
call fcn.004fae88
jmp 0x43803b
push 0xac0c10
call fcn.004fae88
pop ecx
mov ecx, dword [esp + 0xec]
xor eax, eax
push 2
pop ebx
lea esi, [eax + 1]
cmp ecx, ebx
jl 0x437ff2
mov eax, ebx
push eax
push 0xac0c14
call fcn.004f967e
inc esi
pop ecx
pop ecx
mov ecx, dword [esp + 0xec]
lea eax, [esi + esi]
cmp eax, ecx
jle 0x437fd6
mov eax, ecx
cdq
sub eax, edx
xor edx, edx
sar eax, 1
inc edx
cmp eax, edx
jle 0x438026
mov esi, edx
mov edi, edx
push edi
push 0xac0c14
call fcn.004f967e
pop ecx
pop ecx
mov ecx, dword [esp + 0xec]
add edi, ebx
mov eax, ecx
inc esi
cdq
sub eax, edx
sar eax, 1
cmp esi, eax
jl 0x438004
imul eax, ecx, 3
cdq
sub eax, edx
sar eax, 1
dec eax
push eax
push 0xac0b4c
call fcn.004f967e
pop ecx
mov eax, dword [esp + 0x10c]
pop ecx
test eax, eax
jne 0x437f75
dec eax
mov dword [esp + 0x108], eax
xor ebx, ebx
cmp dword [esp + 0x48], 0x5cd3
jle 0x4380aa
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [esp + 0x9c4]
xor eax, edi
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x438080
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x9c4]
push ebx
inc eax
push eax
call fcn.0040160a
inc esi
cmp esi, 0x8056
jl 0x438063
inc edi
cmp edi, 0x26be
jl 0x438061
mov dword [esp + 0x58], 0xad5a519d
cmp dword [esp + 0x48], 0x59ce
jge 0x4381cb
mov dword [esp + 0x58], 0x1f6c
cmp dword [esp + 0x58], 0x737
jge 0x4381c0
lea eax, [esp + 0x1c0]
push eax
lea eax, [esp + 0x1cc]
push eax
push 0xac0c68
call fcn.004f9f6f
add esp, 0xc
mov byte [esp + 0x99], bl
lea eax, [esp + 0x99]
lea ecx, [esp + 0x6b0]
push eax
push dword [esp + 0x1c4]
call fcn.00441ee1
xor eax, eax
lea ebx, [eax + 1]
mov eax, dword [esp + 0x1c8]
test eax, eax
jle 0x438195
mov ecx, dword [esp + 0x1c0]
cdq
idiv ecx
lea eax, [esp + 0x870]
mov edi, edx
lea ecx, [esp + 0x6b0]
push edi
push eax
call fcn.00441f0d
xor edx, edx
inc edx
mov esi, edx
mov ecx, dword [eax + 4]
mov eax, dword [eax]
shl esi, cl
test dword [eax], esi
jne 0x438193
push edx
push ecx
push edi
lea eax, [esp + 0x86c]
push eax
lea ecx, [esp + 0x6c0]
call fcn.00441f0d
pop ecx
mov ecx, eax
call fcn.0044236e
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1c0]
cdq
idiv ecx
mov dword [esp + 0x1c8], eax
test eax, eax
jg 0x43812c
jmp 0x438195
xor bl, bl
test bl, bl
mov ecx, 0xac0c1c
mov eax, 0xac0c10
cmove eax, ecx
push eax
call fcn.004fae88
pop ecx
xor ebx, ebx
lea ecx, [esp + 0x6b0]
mov dword [esp + 0x6bc], ebx
call fcn.0042d79d
push 0xac184c
call fcn.004f967e
pop ecx
mov dword [esp + 0x48], 0x2f7e
cmp dword [esp + 0x48], 0x3142
jle 0x438202
mov esi, ebx
mov edi, esi
mov ebx, 0x2d0b
mov eax, edi
mov ecx, 0xad3d78
cdq
push edx
push eax
call fcn.0042cb49
dec edi
dec ebx
jne 0x4381e6
inc esi
cmp esi, 0xe8e
jl 0x4381df
mov dword [esp + 0x50], 0xb69b2e41
mov dword [esp + 0x58], 0x1942
cmp dword [esp + 0x58], 0xbd1
jge 0x4382da
push 0x3c
pop eax
push eax
xor ebx, ebx
lea eax, [esp + 0xdd0]
push ebx
push eax
mov dword [esp + 0xdd4], ebx
call fcn.004fc870
add esp, 0xc
mov edi, ebx
mov esi, ebx
lea eax, [esp + 0x9d]
push eax
push 0xac1074
call fcn.004f9f6f
cmp byte [esp + 0xa5], 0x2e
pop ecx
pop ecx
jne 0x43826d
xor ecx, ecx
lea eax, [edi + esi]
inc ecx
mov dword [esp + eax*4 + 0xdc8], ecx
push 4
inc esi
pop eax
cmp esi, eax
jl 0x438242
push 0xac0f78
call fcn.004f9f6f
pop ecx
push 4
pop eax
add edi, eax
cmp edi, 0x10
jl 0x438240
push 3
pop eax
lea esi, [esp + 0xddc]
mov edi, eax
xor edx, edx
mov ecx, esi
mov eax, dword [ecx - 0x14]
add eax, dword [ecx - 0x10]
add eax, dword [ecx - 4]
add eax, dword [ecx]
cmp eax, 2
jne 0x4382b9
push 4
pop eax
add ecx, eax
inc edx
push 3
pop eax
cmp edx, eax
jl 0x43829a
jmp 0x4382be
xor eax, eax
lea ebx, [eax + 1]
add esi, 0x10
dec edi
jne 0x438296
test bl, bl
je 0x4382cf
push 0xac18cc
jmp 0x4382d4
push 0xac18d4
call fcn.004f967e
pop ecx
cmp dword [esp + 0x48], 0x2dbc
jge 0x4382f3
mov edx, 0xac1880
mov ecx, 0xad3d78
call fcn.0042f475
mov dword [esp + 0x58], 0x8807383c
mov dword [esp + 0x58], 0x206b
cmp dword [esp + 0x58], 0x74b
jge 0x43846e
xor ebx, ebx
lea eax, [esp + 0x1154]
push 0x1080c
push ebx
push eax
mov dword [esp + 0x115c], ebx
call fcn.004fc870
add esp, 0xc
mov dword [esp + 0xb4], ebx
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x9660]
push eax
push 0xac0c68
call fcn.004f9f6f
add esp, 0xc
jmp 0x438358
xor ebx, ebx
xor edx, edx
lea eax, [esp + 0x135c]
inc edx
mov dword [esp + 0x48], eax
mov ecx, ebx
mov byte [esp + 0x2b], dl
mov dword [esp + 0x10], ecx
push 4
mov esi, eax
mov ebx, edx
pop eax
mov edi, dword [esi]
cmp edi, eax
jl 0x4383b8
mov eax, edi
mov byte [esp + 0x2b], 0
cdq
add ecx, ebx
and edx, 3
add eax, edx
sar eax, 2
add dword [esi + 0x208], eax
add dword [esp + ecx*4 + 0x1150], eax
add dword [esi + 4], eax
add dword [esi - 4], eax
and edi, 0x80000003
jns 0x4383af
dec edi
or edi, 0xfffffffc
inc edi
mov ecx, dword [esp + 0x10]
push 4
mov dword [esi], edi
pop eax
inc ebx
mov edi, 0x81
add esi, eax
cmp ebx, edi
jl 0x438377
mov eax, dword [esp + 0x48]
add ecx, 0x82
add eax, 0x208
mov dword [esp + 0x10], ecx
mov dword [esp + 0x48], eax
push 1
pop edx
cmp ecx, 0x4100
jl 0x438370
cmp byte [esp + 0x2b], 0
je 0x438356
jmp 0x43845b
dec eax
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x470]
push eax
lea eax, [esp + 0x3f4]
push eax
push 0xac0c68
call fcn.004f9f6f
mov edx, dword [esp + 0x3fc]
add esp, 0xc
lea eax, [edx + 0x41]
cmp eax, edi
ja 0x438450
mov ecx, dword [esp + 0x470]
lea eax, [ecx + 0x41]
cmp eax, edi
ja 0x438450
imul eax, edx, 0x82
add eax, ecx
push dword [esp + eax*4 + 0x965c]
push 0xac0b4c
call fcn.004f967e
pop ecx
jmp 0x43845a
push 0xac1108
call fcn.004fae88
pop ecx
mov eax, dword [esp + 0xb4]
test eax, eax
jne 0x4383f3
dec eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x38], 0xfd061a65
mov dword [esp + 0x30], 0x669c
mov dword [esp + 0x58], 0x24a5
cmp dword [esp + 0x58], 0xbe0
jge 0x438658
movdqa xmm0, xmmword [0xacc530]
lea eax, [esp + 0x2ac]
movdqu xmmword [esp + 0xc50], xmm0
mov ebx, 0xac0b2c
and dword [esp + 0x2ac], 0
movdqa xmm0, xmmword [0xacc5a0]
movdqu xmmword [esp + 0xc60], xmm0
push eax
movdqa xmm0, xmmword [0xacc5b0]
movdqu xmmword [esp + 0xc74], xmm0
push ebx
movdqa xmm0, xmmword [0xacc620]
movdqu xmmword [esp + 0xc88], xmm0
mov dword [esp + 0xdc8], 2
movdqa xmm0, xmmword [0xacc5d0]
movdqu xmmword [esp + 0xc98], xmm0
movdqa xmm0, xmmword [0xacc640]
movdqu xmmword [esp + 0xca8], xmm0
movdqa xmm0, xmmword [0xacc590]
movdqu xmmword [esp + 0xcb8], xmm0
movdqa xmm0, xmmword [0xacc680]
movdqu xmmword [esp + 0xcc8], xmm0
movdqa xmm0, xmmword [0xacc620]
movdqu xmmword [esp + 0xcd8], xmm0
movdqa xmm0, xmmword [0xacc630]
movdqu xmmword [esp + 0xce8], xmm0
movdqa xmm0, xmmword [0xacc560]
movdqu xmmword [esp + 0xcf8], xmm0
movdqa xmm0, xmmword [0xacc690]
movdqu xmmword [esp + 0xd08], xmm0
movdqa xmm0, xmmword [0xacc5e0]
movdqu xmmword [esp + 0xd18], xmm0
movdqa xmm0, xmmword [0xacc610]
movdqu xmmword [esp + 0xd28], xmm0
movdqa xmm0, xmmword [0xacc600]
movdqu xmmword [esp + 0xd38], xmm0
movdqa xmm0, xmmword [0xacc660]
movdqu xmmword [esp + 0xd48], xmm0
movdqa xmm0, xmmword [0xacc5c0]
movdqu xmmword [esp + 0xd58], xmm0
movdqa xmm0, xmmword [0xacc670]
movdqu xmmword [esp + 0xd68], xmm0
movdqa xmm0, xmmword [0xacc580]
movdqu xmmword [esp + 0xd78], xmm0
movdqa xmm0, xmmword [0xacc6a0]
movdqu xmmword [esp + 0xd88], xmm0
movdqa xmm0, xmmword [0xacc650]
movdqu xmmword [esp + 0xd98], xmm0
movdqa xmm0, xmmword [0xacc5f0]
movdqu xmmword [esp + 0xda8], xmm0
movdqa xmm0, xmmword [0xacc570]
movdqu xmmword [esp + 0xdb8], xmm0
call fcn.004f9f6f
mov eax, dword [esp + 0x2b4]
push dword [esp + eax*4 + 0xc54]
push ebx
call fcn.004f967e
add esp, 0x10
cmp dword [esp + 0x30], 0x692d
jle 0x4387ad
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0x4c], eax
jmp 0x438672
xor ecx, ecx
mov esi, ecx
mov dword [esp + 0x10], esi
jmp 0x43867c
xor ecx, ecx
mov ebx, ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0x48], ebx
xor esi, eax
jmp 0x43868c
xor ecx, ecx
mov edi, ecx
mov ecx, edi
mov dword [esp + 0x58], 0x2078
mov eax, ebx
sar eax, cl
or eax, esi
cmp dword [esp + 0x58], 0x575
cdq
mov ecx, edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x198], ecx
jge 0x438735
lea eax, [esp + 0xfc]
push eax
push 0xac0ab8
call fcn.004f9f6f
mov eax, dword [esp + 0x104]
pop ecx
pop ecx
test eax, eax
je 0x438717
xor ebx, ebx
inc ebx
dec eax
mov dword [esp + 0xfc], eax
lea eax, [esp + 0x3f8]
push eax
push 0xac0ab8
call fcn.004f9f6f
pop ecx
pop ecx
test byte [esp + 0x3f8], bl
je 0x438708
push 0xac1904
call fcn.004fae88
pop ecx
mov eax, dword [esp + 0xfc]
test eax, eax
jne 0x4386d8
mov ebx, dword [esp + 0x48]
dec eax
push 0xac190c
mov dword [esp + 0x100], eax
call fcn.004fae88
mov eax, dword [esp + 0x74]
pop ecx
mov ecx, dword [esp + 0x198]
push ecx
push eax
lea ecx, [esp + 0x9fc]
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x43874d
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0x9f4]
push 0
inc eax
push eax
call fcn.0040160a
inc edi
cmp edi, 0x45b6
jl 0x43868e
inc ebx
mov dword [esp + 0x48], ebx
cmp ebx, 0x1a26
jl 0x43868a
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
inc esi
mov dword [esp + 0x10], esi
cmp esi, 0x57c3
jl 0x43867a
inc eax
mov dword [esp + 0x4c], eax
cmp eax, 0x6d82
jl 0x438670
mov dword [esp + 0x58], 0x29ed890f
cmp dword [esp + 0x30], 0x632a
jge 0x4387ca
push 0xac18d8
call fcn.004f967e
pop ecx
push 4
mov dword [esp + 0x5c], 0xb2bc
pop eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x10], 0x1472
cmp dword [esp + 0x10], 0x1800
jle 0x438a0a
mov dword [esp + 0x58], 0x186d
cmp dword [esp + 0x58], 0x8c4
jge 0x4389a4
lea eax, [esp + 0xa0]
push eax
push 0xac0ab8
call fcn.004f9f6f
and dword [esp + 0x1d8], 0
lea eax, [esp + 0x1d8]
pop ecx
pop ecx
push eax
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0x644]
inc eax
push eax
call fcn.004420ce
mov eax, dword [esp + 0xa0]
xor ecx, ecx
mov esi, dword [esp + 0x640]
inc ecx
mov ebx, ecx
cmp eax, ecx
jl 0x43887d
push 4
lea edi, [esi + 4]
pop esi
push edi
push 0xac0ab8
call fcn.004f9f6f
mov eax, dword [esp + 0xa8]
inc ebx
pop ecx
add edi, esi
pop ecx
cmp ebx, eax
jle 0x43885b
mov esi, dword [esp + 0x640]
push eax
lea ecx, [esp + 0x68c]
call fcn.0042ce8d
mov edx, dword [esp + 0xa0]
xor ebx, ebx
mov edi, ebx
test edx, edx
jle 0x4388bb
mov ecx, dword [esp + 0x688]
sub ecx, esi
mov eax, dword [esi + 4]
sub eax, dword [esi]
inc edi
mov dword [ecx + esi], eax
mov edx, dword [esp + 0xa0]
push 4
pop eax
add esi, eax
cmp edi, edx
jl 0x4388a2
xor eax, eax
mov dword [esp + 0x348], ebx
inc eax
mov dword [esp + 0x34c], ebx
mov dword [esp + 0x350], ebx
mov ecx, eax
mov dword [esp + 0x1e0], ecx
cmp edx, eax
jle 0x438932
cmp ecx, edx
jge 0x438904
mov eax, dword [esp + 0x688]
mov ebx, ecx
mov esi, eax
lea edi, [eax + ecx*4]
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x438926
push 4
pop eax
add esi, eax
add edi, eax
inc ebx
cmp ebx, edx
jl 0x4388f2
lea eax, [esp + 0x1e0]
push eax
lea ecx, [esp + 0x34c]
call fcn.004420f0
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x1e0]
inc ecx
mov dword [esp + 0x1e0], ecx
cmp ecx, edx
jl 0x4388e4
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x34c]
call fcn.004420f0
mov esi, dword [esp + 0x34c]
mov ebx, dword [esp + 0x348]
sub esi, ebx
sar esi, 2
push esi
push 0xac0b4c
call fcn.004f967e
pop ecx
xor edi, edi
pop ecx
test esi, esi
je 0x438980
push dword [ebx + edi*4]
push 0xac0c14
call fcn.004f967e
inc edi
pop ecx
pop ecx
cmp edi, esi
jb 0x43896c
lea ecx, [esp + 0x348]
call fcn.0042d79d
lea ecx, [esp + 0x688]
call fcn.0042d79d
lea ecx, [esp + 0x640]
call fcn.0042d79d
xor eax, eax
mov esi, eax
mov ebx, eax
mov dword [esp + 0x48], 0x4a2d
mov edi, eax
mov eax, ebx
lea ecx, [esp + 0xa24]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4389d4
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xa24]
push 0
inc eax
push eax
call fcn.0040160a
inc edi
cmp edi, 0x25fc
jl 0x4389b4
add ebx, esi
dec dword [esp + 0x48]
push 0
pop eax
jne 0x4389b2
inc esi
cmp esi, 0x6bc1
jl 0x4389a8
mov dword [esp + 0x58], 0xa9172c2e
cmp dword [esp + 0x10], 0x13d4
jge 0x438a27
push 0xac1914
call fcn.004f967e
pop ecx
mov dword [esp + 0x84], 0xc911b6be
mov dword [esp + 0x30], 0x4056
cmp dword [esp + 0x30], 0x40a1
jle 0x438c65
xor eax, eax
mov ebx, eax
jmp 0x438a50
xor eax, eax
mov esi, eax
jmp 0x438a56
xor eax, eax
mov edi, eax
mov eax, edi
lea ecx, [esp + 0xa54]
and eax, esi
and eax, ebx
cdq
push edx
push eax
call fcn.00402035
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x438a77
mov eax, dword [eax]
push eax
call fcn.004f967e
pop ecx
xor eax, eax
lea ecx, [esp + 0xa54]
push 0
inc eax
push eax
call fcn.0040160a
inc edi
cmp edi, 0x76a6
jl 0x438a58
inc esi
cmp esi, 0x3276
jl 0x438a54
inc ebx
cmp ebx, 0x5319
jl 0x438a4e
mov dword [esp + 0x58], 0x1f26
cmp dword [esp + 0x58], 0x9fd
jge 0x438c57
lea eax, [esp + 0x1d8]
xor ebx, ebx
push eax
push 2
pop esi
push esi
lea ecx, [esp + 0x828]
mov dword [esp + 0x1e0], ebx
call fcn.004420ce
push eax
push 0x3b
lea ecx, [esp + 0x500]
call fcn.004423a8
lea ecx, [esp + 0x820]
call fcn.0042d79d
xor eax, eax
mov dword [esp + 0x48], ebx
inc eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x2b4]
push eax
push 0xac0ab8
call fcn.004f9f6f
xor edi, edi
pop ecx
pop ecx
mov dword [esp + 0x10], edi
cmp dword [esp + 0x2b4], ebx
jl 0x438c40
lea eax, [esp + 0x2a4]
push eax
push 0xac0ab8
call fcn.004f9f6f
pop ecx
pop ecx
test edi, edi
je 0x438bb7
sub esi, dword [esp + 0x4c]
xor ecx, ecx
mov eax, dword [esp + 0x2a4]
inc ecx
cmp esi, ecx
jle 0x438b65
cmp eax, ecx
movzx ebx, bl
cmovg ebx, ecx
mov dword [esp + 0x48], ebx
and dword [esp + 0x58], 0
test eax, eax
jle 0x438ba9
imul ecx, dword [esp + 0x64], 0xc
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x4c]
add ecx, dword [esp + 0x4f8]
mov eax, dword [ecx]
mov dword [eax], ebx
mov eax, edi
cdq
idiv esi
mov eax, dword [ecx]
lea ecx, [ecx + 0xc]
add edx, ebx
inc edi
mov dword [eax + 4], edx
mov eax, dword [esp + 0x2a4]
cmp edi, eax
jl 0x438b82
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x4c], esi
add esi, eax
mov dword [esp + 0x64], esi
inc edi
mov dword [esp + 0x10], edi
cmp edi, dword [esp + 0x2b4]
jle 0x438b2f
test bl, bl
je 0x438c40
push 0xac1990
call fcn.004fae88
mov ebx, dword [esp + 0x4fc]
xor eax, eax
inc eax
pop ecx
cmp esi, eax
jle 0x438c08
mov edi, dword [esp + 0x64]
lea esi, [ebx + 0xc]
dec edi
mov eax, dword [esi]
push dword [eax]
push 0xac0c14
call fcn.004f967e
lea esi, [esi + 0xc]
pop ecx
pop ecx
dec edi
jne 0x438bee
mov esi, dword [esp + 0x64]
push 0xabec31
call fcn.004fae88
xor eax, eax
inc eax
pop ecx
cmp esi, eax
jle 0x438c39
mov edi, dword [esp + 0x64]
lea esi, [ebx + 0xc]
dec edi
mov eax, dword [esi]
push dword [eax + 4]
push 0xac0c14
call fcn.004f967e
lea esi, [esi + 0xc]
pop ecx
pop ecx
dec edi
jne 0x438c22
push 0xabec31
jmp 0x438c45
push 0xac199c
call fcn.004fae88
pop ecx
lea ecx, [esp + 0x4f8]
call fcn.00443542
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
call dword [0x1efd03c]
jmp 0x438c67
xor ebx, ebx
cmp dword [esp + 0x30], 0x4033
jge 0x438c7c
push 0xac1940
call fcn.004f967e
pop ecx
xor ecx, ecx
mov dword [esp + 0x64], ebx
inc ecx
jmp 0x438c98
mov eax, dword [esp + 0x64]
mov dword [esp + eax*4 + 0x738], 0xa0c8d467
inc dword [esp + 0x64]
cmp dword [esp + 0x64], ecx
jl 0x438c85
dec dword [esp + 0x84]
xor edx, edx
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x84]
cmp eax, ecx
mov eax, dword [esp + 0x24]
setg dl
dec eax
add eax, edx
je 0x438ccd
cmp dword [esp + 0x38], ebx
je 0x438ccd
xor eax, eax
lea edx, [eax + 1]
jmp 0x438ccf
mov edx, ebx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x50]
setne bl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x50]
setne cl
xor edx, edx
cmp ebx, ecx
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x5c]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x7c], 0
mov dword [esp + 0x58], ecx
jne 0x438e20
cmp byte [esp + 0x81], 0
mov ebx, dword [esp + 0x20]
je 0x438d3d
xor eax, eax
inc eax
cmp dword [esp + 0x54], eax
jne 0x438d3d
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x10]
add dword [ecx + 8], eax
mov ecx, dword [esp + 0x34]
push 4
pop edx
push ebx
mov eax, dword [ecx]
add ecx, edx
mov dword [esp + 0x1dc], eax
mov eax, dword [ecx]
add ecx, edx
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x38], ecx
call fcn.004f51d1
mov edi, eax
xor eax, eax
pop ecx
mov dword [esp + 0x478], eax
lea ecx, [esp + 0x42c]
mov dword [esp + 0x42c], eax
mov dword [esp + 0x430], eax
mov dword [esp + 0x434], eax
lea eax, [esp + 0x478]
push eax
push ebx
call fcn.004438a0
xor ecx, ecx
mov dword [esp + 0x54], ecx
test ebx, ebx
jle 0x438e0c
mov esi, dword [esp + 0x42c]
mov eax, ecx
and eax, 0x80000001
jns 0x438db9
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [esp + 0x1d8]
add eax, ecx
add eax, dword [esp + 0x1d8]
imul eax, dword [esp + 0x1d0]
cdq
idiv ebx
xor eax, eax
cmp word [esi + edx*2], ax
je 0x438df2
xor ecx, ecx
lea eax, [edx + 1]
cdq
idiv ebx
cmp word [esi + edx*2], cx
jne 0x438de2
mov ecx, dword [esp + 0x54]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [esp + 0x34]
mov al, byte [edx + eax]
mov byte [ecx + edi], al
inc ecx
mov dword [esp + 0x54], ecx
cmp ecx, ebx
jl 0x438dab
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x42c]
mov dword [eax], ebx
mov dword [eax + 4], edi
call fcn.0042d79d
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret