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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x288
push esi
push edi
mov dword [esp + 0x5c], ecx
push 0
mov dword [esp + 0x24], 0x7e2799ac
mov dword [esp + 0x40], edx
mov dword [esp + 0x24], 0x16
pop eax
jmp 0x465569
mov dword [esp + 0x28], 0x14d2edc7
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x28], ecx
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x465565
push eax
push eax
call dword [0xaa9080]
xor eax, eax
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xf
jg 0x465540
push dword [esp + 0x7c]
movdqa xmm0, xmmword [0xa9faa0]
lea ecx, [esp + 0x214]
push ecx
lea ecx, [esp + 0x208]
mov dword [esp + 0x108], eax
push ecx
push eax
lea ecx, [esp + 0x110]
mov dword [esp + 0x114], eax
movdqu xmmword [esp + 0x210], xmm0
mov dword [esp + 0x118], eax
call fcn.00432964
mov edi, dword [esp + 0x100]
xor esi, esi
mov dword [esp + 0x2c], 9
mov dword [esp + 0x28], 0xfffffffd
mov dword [edi + 4], esi
mov dword [esp + 0x20], 0xf2b29949
xor ecx, ecx
mov dword [esp + 0x18], 6
mov dword [esp + 0x30], 0xbe6286c8
mov dword [esp + 0x28], 0xd2214c25
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
sbb eax, eax
neg eax
imul eax, dword [esp + 0x18]
cmp eax, dword [edi + 4]
jne 0x46561d
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
mov eax, dword [esp + 0x20]
setg cl
xor edx, edx
imul ecx, dword [edi + 4]
push 5
sub eax, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
pop ecx
setl dl
xor eax, eax
cmp edx, 0xfffffffb
setl al
imul eax, dword [edi + 4]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], 0x7f95e19f
jg 0x465679
cmp dword [esp + 0x18], esi
jne 0x465679
mov eax, esi
jmp 0x46567c
xor eax, eax
inc eax
dec dword [edi + 4]
cmp dword [edi + 4], 0xfffffffa
mov dword [esp + 0x28], eax
jg 0x4655d3
lea ecx, [esp + 0x100]
call fcn.004328f3
mov eax, dword [0xaa6f24]
push 8
pop edi
test al, 1
jne 0x46571d
push esi
or eax, 1
mov dword [0xaa6f50], esi
push esi
mov dword [0xaa6f24], eax
mov dword [0xaa6f54], esi
call fcn.004040b5
mov dword [0xaa6f50], eax
mov ecx, 0xaa6f58
mov dword [esp + 0x144], eax
lea eax, [esp + 0x144]
push eax
push 0x10
push esi
lea eax, [esp + 0x6c]
mov dword [0xaa6f58], esi
push eax
mov dword [0xaa6f60], esi
mov dword [0xaa6f6c], 0x3f800000
mov dword [0xaa6f5c], esi
call fcn.00403deb
push 0x4ab5b5
mov dword [0xaa6f64], 7
mov dword [0xaa6f68], edi
call fcn.0048788f
pop ecx
push dword [esp + 0x60]
movdqa xmm0, xmmword [0xa9fb00]
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x218]
mov dword [esp + 0x18], esi
push eax
push esi
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], esi
movdqu xmmword [esp + 0x220], xmm0
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], esi
call fcn.00432964
push dword [esp + 0x60]
movdqa xmm0, xmmword [0xa9fac0]
lea eax, [esp + 0x234]
push eax
lea eax, [esp + 0x228]
mov dword [esp + 0x24], 0x173bf38c
push eax
mov dword [esp + 0x20], edi
lea ecx, [esp + 0x11c]
mov dword [esp + 0x24], 0xffffffff
push esi
movdqu xmmword [esp + 0x230], xmm0
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], esi
call fcn.00432964
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x24], 0xb996340c
mov eax, dword [esp + 0x10]
push 5
inc dword [edi + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
imul eax, dword [esp + 0x14]
pop ecx
add eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
sub eax, ecx
je 0x465814
xor eax, eax
cmp dword [esp + 0x10], eax
je 0x465816
xor edx, edx
inc edx
mov ecx, edx
jmp 0x46581b
xor eax, eax
xor edx, edx
mov ecx, eax
inc edx
mov esi, dword [esp + 0xb8]
imul ecx, ecx, 0x33e3
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [esi + 4], ecx
jg 0x465846
mov ecx, eax
cmp dword [esp + 0x10], eax
je 0x465848
mov ecx, edx
cmp dword [esp + 0x10], ecx
jl 0x465976
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x24]
jl 0x465876
cmp dword [esp + 0x24], eax
jne 0x46587e
cmp dword [esp + 0x10], eax
jne 0x46587e
mov edx, eax
mov ecx, dword [edi + 0xc]
add ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esi + 4]
je 0x465894
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
add edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x110]
imul edx, dword [ecx + 0xc]
sub edx, dword [edi + 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x537e8f88
setne cl
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x28], eax
je 0x4658f2
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x465a1c
push eax
call dword [0xaa93e0]
push eax
call dword [0xaa93ec]
jmp 0x465a1c
mov dword [esp + 0x1c], 0xf
jmp 0x46592c
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x465928
push eax
push 0x1c65
push 0x6df
call dword [0xaa93e0]
push eax
call dword [0xaa93d4]
push eax
call dword [0xaa9084]
xor eax, eax
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 8
jl 0x4658fc
mov dword [esp + 0x18], 0xfffffff3
jmp 0x46596a
mov dword [esp + 0x1c], 4
jmp 0x46595f
mov dword [esp + 0x20], 9
dec dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xa
je 0x465947
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xd
je 0x46593d
jmp 0x465a1c
mov dword [esp + 0x28], 0xa3d85aa7
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x4659e6
mov dword [esp + 0x2c], 0xfffc
mov dword [esp + 0x18], 0xfffffff6
mov ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x28]
push 0
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
add edx, 2
cmp edx, ecx
pop ecx
setle cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x2c], ecx
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
setne dl
sub esi, edx
neg esi
sbb esi, esi
inc esi
sub ecx, esi
mov dword [esp + 0x24], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jle 0x46598c
mov dword [esp + 0x24], eax
jmp 0x465a15
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x465a11
push 0x26dd
push 0x1eba
push eax
call dword [0xaa9360]
xor eax, eax
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jle 0x4659f3
lea ecx, [esp + 0x110]
call fcn.004328f3
lea ecx, [esp + 0xb8]
call fcn.004328f3
imul eax, dword [esp + 0x5c], 0x2710
lea ecx, [esp + 0x160]
push 2
add eax, dword [esp + 0x40]
mov dword [esp + 0x84], eax
mov dword [esp + 0x18], 0xe9d0
call fcn.00432821
xor esi, esi
lea ecx, [esp + 0xe4]
inc esi
push esi
call fcn.00432821
xor eax, eax
mov dword [esp + 0x28], 0x758b39d2
mov dword [esp + 0x1c], eax
jmp 0x465a93
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x160]
mov dword [ecx + edx*4], 5
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x465a7d
mov dword [esp + 0x1c], eax
jmp 0x465ab3
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x16c], 0x141a9c21
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x465aa0
mov dword [esp + 0x1c], eax
jmp 0x465ad6
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xe4]
mov dword [ecx + edx*4], 0x969161d5
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x465ac0
mov ecx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0xe4]
push 0xfffffffffffffffe
mov dword [ecx], 0xaf12
mov ecx, dword [esp + 0x18]
pop ecx
cmp dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x14]
sbb esi, esi
add esi, 2
neg esi
push 0
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setle dl
sub edx, dword [esp + 0x18]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x178]
sub esi, 3
mov edi, dword [esp + 0x164]
neg esi
mov ecx, dword [esp + 0xe8]
sbb esi, esi
inc esi
mov dword [edi + 4], esi
cmp dword [ecx], edx
pop ecx
setle cl
cmp esi, ecx
jne 0x465b7d
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x465c1a
push eax
call dword [0xaa9018]
jmp 0x465c1a
xor esi, esi
mov dword [esp + 0x28], 3
inc esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], 0xd58e56a9
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x465bb2
push eax
push 0x1242
push eax
push 0x1924
call dword [0xaa9218]
xor eax, eax
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x20], eax
jne 0x465bdb
mov ecx, dword [esp + 0x20]
mov edx, 0xffffb3ef
sub edx, ecx
push 0
pop ecx
sets cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x14]
jl 0x465be0
cmp dword [edi + 4], eax
jne 0x465be2
mov esi, eax
mov eax, dword [esp + 0x160]
xor ecx, ecx
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xe4]
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
cmp eax, esi
setle cl
sub ecx, edx
neg ecx
sbb ecx, ecx
add ecx, 5
imul eax, ecx, 6
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0xe4]
call fcn.004328f3
lea ecx, [esp + 0x160]
call fcn.004328f3
lea eax, [esp + 0x80]
push eax
call fcn.00467b8e
xor edi, edi
mov edx, dword [eax]
xor eax, eax
mov dword [esp + 0x1c], 0xce125d16
inc edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], 0xb1b9b964
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
jmp 0x465c7b
mov ecx, dword [esp + 0x20]
mov dword [esp + ecx*4 + 0x154], 0xffffffff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x465c68
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 2
jg 0x465dca
push 5
pop ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], 0xab171c25
cmp dword [esp + 0x14], eax
je 0x465dad
mov dword [esp + 0x20], 0x6cd33356
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], eax
jmp 0x465ccb
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x250], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x465cbc
mov dword [esp + 0x10], eax
jmp 0x465ceb
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x124], 0xfffffff6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x465cd8
cmp dword [esp + 0x14], eax
jne 0x465da2
cmp dword [esp + 0x1c], eax
je 0x465d09
mov esi, edi
cmp dword [esp + 0x14], eax
jne 0x465d0b
mov esi, eax
mov ecx, dword [esp + 0x15c]
xor edx, edx
cmp esi, ecx
mov ecx, dword [esp + 0x1c]
setne dl
mov dword [esp + 0x2c], edx
xor edx, edx
cmp dword [esp + 0x2c], ecx
setl dl
sub edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x154], edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x258], ecx
mov edx, dword [esp + 0x20]
imul edx, ecx
mov ecx, dword [esp + 0x20]
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x15c]
cmp ecx, 0x53d2ae45
setl dl
mov dword [esp + 0x124], edx
cmp edx, dword [esp + 0x1c]
jne 0x465d94
mov ecx, eax
cmp dword [esp + 0x14], eax
je 0x465d96
mov ecx, edi
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x1c], eax
jne 0x465dc6
push 5
pop ecx
jmp 0x465db7
cmp dword [esp + 0x28], eax
jne 0x465dc6
mov dword [esp + 0x28], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jle 0x465c94
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add ecx, 0x72fd
mov dword [esp + 0x2c], ecx
test edx, edx
je 0x466074
mov dword [esp + 0x10], 0xad6
lea ecx, [esp + 0x90]
push 3
call fcn.00432821
xor esi, esi
mov dword [esp + 0x28], 0xfffffff6
mov dword [esp + 0x20], esi
jmp 0x465e1c
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x90]
mov dword [eax + ecx*4], 0x20f89b5
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x465e06
inc dword [esp + 0x10]
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], 2
jg 0x465fe0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
push 4
lea ecx, [esp + 0x88]
call fcn.00432821
mov dword [esp + 0x14], 0x12c51978
xor eax, eax
mov dword [esp + 0x3c], 0x56fe18bd
mov dword [esp + 0x20], eax
jmp 0x465e7d
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x84]
mov dword [ecx + edx*4], 0xfffffffe
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x465e67
mov ecx, dword [esp + 0x84]
mov dword [ecx], 2
mov dword [esp + 0x20], 0xfa90
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x465eb8
push 0x1bed
call dword [0xaa93e0]
push eax
call dword [0xaa9364]
xor eax, eax
imul edx, dword [esp + 0x14], 0x1540
mov ecx, dword [esp + 0x84]
push 0
mov esi, dword [ecx]
mov ecx, dword [esp + 0x14]
cmp edx, ecx
pop ecx
setl cl
xor edx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x90]
cmp dword [ecx + esi*4], esi
setg dl
xor ecx, ecx
cmp edx, dword [esp + 0x3c]
setle cl
cmp ecx, dword [esp + 0x10]
jle 0x465f02
cmp dword [esp + 0x14], eax
je 0x465f02
xor edx, edx
inc edx
jmp 0x465f04
mov edx, eax
mov ecx, dword [esp + 0x84]
cmp edx, 0xc6f79b34
push 0
sbb edx, edx
inc edx
mov esi, dword [ecx]
mov ecx, dword [esp + 0x94]
cmp edx, dword [ecx + esi*4]
pop ecx
setle cl
xor edx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x20]
setne dl
mov dword [esp + 0x3c], edx
xor edx, edx
cmp dword [esp + 0x3c], ecx
setle dl
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x28]
je 0x465f61
cmp dword [esp + 0x20], eax
je 0x465f61
xor esi, esi
inc esi
jmp 0x465f63
mov esi, eax
mov ecx, dword [esp + 0x84]
xor edx, edx
push 0
cmp esi, dword [ecx]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x88]
setg dl
cmp edx, ecx
pop ecx
setg cl
mov edx, dword [edi]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x3c]
push 0
cmp esi, dword [ecx + edx*4]
mov edx, dword [esp + 0x30]
pop ecx
setne cl
imul ecx, dword [edx + 4]
dec dword [edi]
mov dword [esp + 0x3c], ecx
jns 0x465e91
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
cmp dword [ecx + edx*4], eax
lea ecx, [esp + 0x84]
call fcn.004328f3
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x465e41
xor edi, edi
xor esi, esi
inc edi
lea ecx, [esp + 0x90]
call fcn.004328f3
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x1a4]
push edi
mov dword [esp + 0xf8], eax
call fcn.00432821
mov dword [esp + 0x38], 0xb4983ca3
mov dword [esp + 0x38], 0x4f2d8918
mov dword [esp + 0x10], esi
jmp 0x466030
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1a4]
mov dword [eax + ecx*4], 0x7e2799ac
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x46601a
mov dword [esp + 0x10], esi
jmp 0x46604f
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x278], 0x1b0fe2cf
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x46603c
mov eax, dword [esp + 0x1a4]
lea ecx, [esp + 0x1a4]
mov dword [eax], 6
call fcn.004328f3
jmp 0x467b0a
push dword [esp + 0x60]
movdqa xmm0, xmmword [0xa9faa0]
lea ecx, [esp + 0x254]
push ecx
lea ecx, [esp + 0x248]
mov dword [esp + 0x130], eax
push ecx
push eax
lea ecx, [esp + 0x138]
mov dword [esp + 0x13c], eax
movdqu xmmword [esp + 0x250], xmm0
mov dword [esp + 0x140], eax
call fcn.00432964
mov edi, dword [esp + 0x128]
xor esi, esi
mov dword [esp + 0x2c], 9
mov dword [esp + 0x28], 0xfffffffd
mov dword [edi + 4], esi
mov dword [esp + 0x20], 0xf2b29949
xor ecx, ecx
mov dword [esp + 0x18], 6
mov dword [esp + 0x30], 0xbe6286c8
mov dword [esp + 0x28], 0xd2214c25
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
sbb eax, eax
neg eax
imul eax, dword [esp + 0x18]
cmp eax, dword [edi + 4]
jne 0x466121
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
mov eax, dword [esp + 0x20]
setg cl
xor edx, edx
imul ecx, dword [edi + 4]
push 5
sub eax, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
pop ecx
setl dl
xor eax, eax
cmp edx, 0xfffffffb
setl al
imul eax, dword [edi + 4]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], 0x7f95e19f
jg 0x46617d
cmp dword [esp + 0x18], esi
jne 0x46617d
mov eax, esi
jmp 0x466180
xor eax, eax
inc eax
dec dword [edi + 4]
cmp dword [edi + 4], 0xfffffffa
mov dword [esp + 0x28], eax
jg 0x4660d7
lea ecx, [esp + 0x128]
call fcn.004328f3
mov eax, dword [0xaa6f24]
push 2
pop edi
test al, 2
jne 0x466227
push esi
or eax, edi
mov dword [0xaa6f30], esi
push esi
mov dword [0xaa6f24], eax
mov dword [0xaa6f34], esi
call fcn.004040b5
mov dword [0xaa6f30], eax
mov ecx, 0xaa6f38
mov dword [esp + 0x120], eax
lea eax, [esp + 0x120]
push eax
push 0x10
push esi
lea eax, [esp + 0xfc]
mov dword [0xaa6f38], esi
push eax
mov dword [0xaa6f40], esi
mov dword [0xaa6f4c], 0x3f800000
mov dword [0xaa6f3c], esi
call fcn.00403deb
push 0x4ab5b0
mov dword [0xaa6f44], 7
mov dword [0xaa6f48], 8
call fcn.0048788f
pop ecx
mov dword [esp + 0x1c], 0xfffffffd
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x20], 0x3019c36c
mov dword [esp + 0x14], 0x2cca
mov dword [esp + 0x44], 0xe2a7
mov dword [esp + 0x1c], eax
jmp 0x46649f
mov dword [esp + 0x28], 0xe2294bb4
mov dword [esp + 0x18], 0xfffffff7
mov dword [esp + 0x20], eax
jmp 0x46628c
mov ecx, dword [esp + 0x20]
mov dword [esp + ecx*4 + 0x70], 0xccce
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x46627c
mov ecx, dword [esp + 0x74]
xor edx, edx
mov ecx, dword [esp + 0x78]
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x8951
setne dl
neg edx
cmp edx, dword [esp + 0x1c]
je 0x4662b6
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
add edx, ecx
mov ecx, dword [esp + 0x1c]
cmp edx, ecx
mov ecx, dword [esp + 0x1c]
push 0
pop edx
setle dl
cmp edx, ecx
push 0
pop ecx
setge cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x2c], ecx
setle dl
cmp edx, 0x694a61bf
jg 0x466309
xor edx, edx
inc edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
jmp 0x4663d6
mov dword [esp + 0x20], 0xffff
mov dword [esp + 0x18], 0xfffffffc
mov dword [esp + 0x38], 0xe07ad46d
mov dword [esp + 0x38], 0xfffffffa
mov dword [esp + 0x2c], 0xd5d51814
inc dword [esp + 0x20]
inc dword [esp + 0x14]
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
neg esi
push 0
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
mov ecx, dword [esp + 0x2c]
setne dl
cmp edx, ecx
mov ecx, dword [esp + 0x1c]
pop edx
setne dl
cmp ecx, edx
push 0
pop edx
setne dl
xor ecx, ecx
imul edx, dword [esp + 0x18]
push 0
test edx, edx
sets cl
imul ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x14]
add ecx, 0xfffffffe
imul edx, ecx
imul ecx, edx, 0xdbc8
mov edx, 0xaa3e8f08
sub edx, ecx
mov ecx, dword [esp + 0x30]
cmp edx, ecx
pop ecx
setl cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x10]
cmp ecx, 0x6890
setne dl
xor ecx, ecx
cmp edx, dword [esp + 0x2c]
setne cl
cmp dword [esp + 0x20], ecx
jge 0x4663c3
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x78]
xor edx, edx
mov dword [esp + 0x18], ecx
inc edx
mov dword [esp + 0x24], 0xfffffffc
mov dword [esp + 0x20], eax
jmp 0x466491
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], eax
jl 0x46648a
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], edi
cmp dword [esp + 0x24], eax
jl 0x46641f
mov dword [esp + 0x14], eax
jmp 0x466413
mov ecx, dword [esp + 0x24]
cmp dword [esp + ecx*4 + 0x70], eax
jne 0x466419
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x466405
dec dword [esp + 0x24]
jns 0x4663ff
push 0xfffffffffffffffe
pop ecx
mov dword [esp + 0x10], ecx
xor edx, edx
mov ecx, dword [esp + 0x18]
push 0
mov ecx, dword [esp + ecx*4 + 0x74]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + ecx*4 + 0x74]
mov ecx, dword [esp + 0x48]
cmp ecx, 0xffffffff
setne dl
xor ecx, ecx
neg edx
cmp esi, edx
sete cl
xor edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + ecx*4 + 0x74]
cmp dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x38]
setg dl
cmp edx, ecx
pop ecx
setle cl
imul ecx, dword [esp + 0x18]
push 1
pop edx
add ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
dec dword [esp + 0x18]
jns 0x4663f1
inc dword [esp + 0x20]
push 1
pop edx
cmp dword [esp + 0x20], edi
jle 0x4663df
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 7
jle 0x466266
xorps xmm0, xmm0
lea ecx, [esp + 0x1b0]
push 4
movdqu xmmword [esp + 0xd8], xmm0
call fcn.00432821
xor eax, eax
inc eax
xor esi, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], esi
jmp 0x4664e6
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1b0]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x4664d3
mov dword [esp + 0x10], 3
cmp dword [esp + 0x10], esi
jl 0x46653f
mov dword [esp + 0x28], 0x7cd95da2
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], 0x652d0da0
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1b0]
mov dword [eax + edx*4], ecx
dec dword [esp + 0x10]
jns 0x4664fb
lea ecx, [esp + 0x1b0]
call fcn.004328f3
lea eax, [esp + 0x5c]
push eax
call fcn.00467bf0
push 3
lea ecx, [esp + 0x188]
mov edi, dword [eax]
mov dword [esp + 0x24], edi
call fcn.00432821
mov dword [esp + 0x34], 0xca98
xor eax, eax
mov dword [esp + 0x28], 0x279c4185
inc eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], esi
jmp 0x4665a0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x184]
mov dword [eax + ecx*4], 0x86e871d9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x46658a
mov ecx, dword [esp + 0x184]
xor edx, edx
mov eax, dword [esp + 0x34]
add eax, dword [ecx + 8]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
cmp eax, ecx
mov eax, dword [esp + 0x184]
setl dl
xor ecx, ecx
cmp dword [eax], edx
setne cl
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x184]
call fcn.004328f3
cmp byte [ebp + 0xc], 0
jne 0x4665f4
test edi, edi
jne 0x466b18
mov dword [esp + 0x18], 0xa3df
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0xddd3f467
mov dword [esp + 0x24], 0x47f28a99
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x18], 0xe009
je 0x4667a0
cmp dword [esp + 0x18], eax
je 0x4667a0
push 3
lea ecx, [esp + 0x13c]
call fcn.00432821
mov dword [esp + 0x10], 0xf41adf89
xor eax, eax
mov dword [esp + 0x38], 0xfffffff9
mov dword [esp + 0x14], eax
jmp 0x46667e
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x138]
mov dword [ecx + edx*4], 0x279e56e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x466668
mov dword [esp + 0x14], 0xfffffffc
cmp dword [esp + 0x14], 0xffffffe9
jl 0x466792
mov edi, dword [esp + 0x138]
mov dword [esp + 0x18], 0xfffffffc
mov dword [esp + 0x38], 0xffffffff
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x138]
push 0
cmp edx, dword [ecx]
pop ecx
setle cl
xor edx, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x34], ecx
mov esi, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp edx, dword [edi + 8]
push 2
setge cl
xor edx, edx
add esi, ecx
mov ecx, dword [esp + 0x1c]
neg esi
cmp esi, ecx
setle dl
cmp edx, 1
sbb edx, edx
inc edx
sub edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x13c]
neg edx
sbb edx, edx
inc edx
sub edx, dword [ecx]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp ecx, edx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0xcaea
mov ecx, dword [esp + 0x1c]
setg dl
mov dword [esp + 0x38], edx
xor edx, edx
cmp dword [esp + 0x38], ecx
setg dl
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
pop edx
jmp 0x46677d
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], eax
jl 0x466779
mov dword [esp + 0x30], 0xfffffff8
mov dword [esp + 0x24], eax
jmp 0x466769
inc dword [esp + 0x30]
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edx
jle 0x466761
mov ecx, dword [esp + 0x10]
dec dword [esp + 0x10]
jns 0x466753
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jle 0x466749
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffe9
jge 0x46669f
lea ecx, [esp + 0x138]
call fcn.004328f3
jmp 0x4667d4
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x4667bb
push eax
push eax
push 0x1960
push eax
push eax
call dword [0xaa901c]
xor eax, eax
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x4667d4
push eax
push 0xf9c
push eax
push eax
call dword [0xaa9238]
mov dl, byte [ebp + 0xc]
lea eax, [esp + 0x280]
mov ecx, dword [esp + 0x5c]
push eax
call fcn.00432b94
mov esi, eax
lea edi, [esp + 0xd8]
pop ecx
push 3
lea ecx, [esp + 0x1cc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], 0xfffffffb
mov dword [esp + 0x34], 0xfffffff8
call fcn.00432821
xor eax, eax
xor edi, edi
mov dword [esp + 0x10], eax
inc edi
jmp 0x466831
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x40], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x466825
mov dword [esp + 0x10], eax
jmp 0x466853
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c8]
mov dword [ecx + edx*4], 0xc46983c1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x46683d
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], eax
jl 0x46688a
mov dword [esp + 0x30], 0x3d188047
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + ecx*4 + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x40], edx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], eax
dec dword [esp + 0x18]
jns 0x466864
cmp dword [esp + 0x40], eax
je 0x4668eb
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], eax
je 0x4668a4
mov esi, edi
mov ecx, dword [esp + 0x40]
xor edx, edx
cmp esi, ecx
setge dl
inc edx
jne 0x4668ba
mov edx, eax
cmp dword [esp + 0x28], eax
je 0x4668bc
mov edx, edi
xor ecx, ecx
cmp edx, 0x339b
setle cl
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x40]
mov ecx, edi
jg 0x4668ed
mov ecx, eax
mov eax, dword [esp + 0x1c8]
mov dword [eax], ecx
lea ecx, [esp + 0x1c8]
call fcn.004328f3
cmp byte [ebp + 0xc], 0
je 0x466b1b
cmp dword [esp + 0xdc], 0
je 0x466b1b
xor eax, eax
mov dword [esp + 0x14], 8
mov dword [esp + 0x14], eax
jmp 0x466939
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x11c], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x46692a
mov dword [esp + 0x14], eax
jmp 0x4669ca
mov dword [esp + 0x24], 0xfffffff6
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x466965
push eax
push eax
call dword [0xaa93c4]
xor eax, eax
mov dword [esp + 0x24], eax
jmp 0x4669c0
mov ecx, dword [esp + 0x14]
cmp dword [esp + ecx*4 + 0x11c], eax
jne 0x4669c6
cmp dword [esp + 0x14], eax
mov byte [esp + 0xf], al
je 0x46699c
cmp byte [esp + 0xf], 0
je 0x4669bc
push 0x26dd
push 0x1eba
push eax
call dword [0xaa9360]
jmp 0x4669ba
cmp byte [esp + 0xf], 0
je 0x4669bc
push 0x2036
push 0x2f4
push eax
push 0x13c5
push eax
call dword [0xaa9354]
xor eax, eax
inc dword [esp + 0x24]
cmp dword [esp + 0x24], eax
jle 0x46696b
inc dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jle 0x466948
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x14], 0x67f5ed9a
mov dword [esp + 0x14], 0x54671013
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x24], 0xf0cf8651
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
imul edx, dword [esp + 0x14], 0xa2ca
mov ecx, dword [esp + 0x24]
push 0
cmp edx, ecx
pop ecx
setg cl
cmp ecx, 0xffff
sbb ecx, ecx
neg ecx
cmp ecx, dword [esp + 0x24]
jle 0x466a52
mov esi, eax
cmp dword [esp + 0x10], eax
je 0x466a54
mov esi, edi
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp esi, ecx
setle dl
cmp edx, dword [esp + 0x14]
jge 0x466a76
mov dword [esp + 0x30], 0x47030fc3
dec dword [esp + 0x30]
jmp 0x466b08
mov dword [esp + 0x18], 0x3765
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x18], 0xe0f4c9ff
je 0x466a94
mov edx, eax
cmp dword [esp + 0x24], eax
je 0x466a96
mov edx, edi
mov ecx, dword [esp + 0x34]
add edx, 8
cmp edx, ecx
push 0
pop ecx
setne cl
xor edx, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x34], ecx
setne dl
cmp dword [esp + 0x18], edx
jle 0x466ae0
mov dword [esp + 0x34], 0x2bc9
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [esp + 0x34], ecx
jmp 0x466af5
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x466af5
push eax
push eax
call dword [0xaa906c]
xor eax, eax
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x466b08
push eax
push eax
call dword [0xaa921c]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xfc], eax
jmp 0x466b1b
xor edi, edi
inc edi
push 3
lea ecx, [esp + 0x68]
call fcn.00432821
mov dword [esp + 0x1c], 0x2b1cecb4
xor eax, eax
mov dword [esp + 0x30], 0xd0881826
mov dword [esp + 0x14], eax
jmp 0x466b4d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x64]
mov dword [ecx + edx*4], edi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x466b3e
mov dword [esp + 0x1c], 2
cmp dword [esp + 0x1c], eax
jl 0x466d06
mov dword [esp + 0x18], 0x814b733c
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + ecx*4]
mov dword [edx + esi*4], ecx
mov dword [esp + 0x18], eax
jmp 0x466cf1
mov dword [esp + 0x10], 0xf8f9ed02
mov dword [esp + 0x14], 0xfffffff9
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x466bb1
push eax
call dword [0xaa924c]
xor eax, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x64]
cmp dword [ecx + edx*4], eax
jne 0x466bcb
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
cmp dword [ecx + edx*4], eax
je 0x466c25
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
push 0
cmp dword [ecx + edx*4], 0xfffffff7
pop edx
setne dl
add edx, dword [ecx + esi*4]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + edx*4]
sub edx, dword [ecx + esi*4]
neg edx
sbb edx, edx
inc edx
cmp edx, dword [esp + 0x18]
jl 0x466c27
mov edi, eax
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + ecx*4]
imul ecx, dword [edx + esi*4]
cmp ecx, edi
jg 0x466c52
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
cmp dword [ecx + edx*4], eax
je 0x466c52
xor edi, edi
inc edi
mov esi, edi
jmp 0x466c57
xor edi, edi
mov esi, eax
inc edi
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
sub esi, dword [ecx + edx*4]
je 0x466cd4
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x466c7e
call dword [0xaa93e0]
push eax
call dword [0xaa93e8]
xor eax, eax
push 0xfffffffffffffffe
mov dword [esp + 0x18], eax
pop esi
jmp 0x466ccc
mov dword [esp + 0x10], 0xffffffee
jmp 0x466cc1
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x466cbd
push eax
push 0xcd2
push 0x192b
call dword [0xaa93e0]
push eax
call dword [0xaa93d4]
push eax
call dword [0xaa9074]
xor eax, eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
je 0x466c91
dec dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x466c87
jmp 0x466ced
mov dword [esp + 0x10], eax
jmp 0x466ce6
mov dword [esp + 0x34], 0xfffffffa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x466cda
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x466b8d
dec dword [esp + 0x1c]
jns 0x466b66
lea ecx, [esp + 0x64]
call fcn.004328f3
mov edi, dword [esp + 0x20]
test edi, edi
jne 0x46770f
cmp dword [esp + 0xd4], edi
jle 0x46770f
push 0xfffffffffffffffe
pop eax
xor esi, esi
lea ecx, [esp + 0x1e8]
inc edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x38], eax
push edi
call fcn.00432821
mov dword [esp + 0x30], 0x8591b68d
xor eax, eax
mov dword [esp + 0x38], 0xb64f
mov dword [esp + 0x14], eax
jmp 0x466d6e
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1e8]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x466d5b
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x466d8d
push eax
push 0x130f
push eax
push eax
push eax
call dword [0xaa9250]
inc dword [esp + 0x30]
lea ecx, [esp + 0x1e8]
call fcn.004328f3
mov esi, dword [esp + 0xd4]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], 0x52f76ec7
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], 0xfffffffd
mov dword [esp + 0x34], 0xa3a7
mov dword [esp + 0x2c], 6
mov dword [esp + 0x44], esi
mov dword [esp + 0x14], eax
jmp 0x466df3
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x190], 0x69f
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x466de0
mov dword [esp + 0x18], 0x15
cmp dword [esp + 0x18], 0xd
jle 0x466fc0
xor esi, esi
mov dword [esp + 0x30], 0xa708
lea ecx, [esp + 0x178]
push edi
call fcn.00432821
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], 0xfffffff9
mov dword [esp + 0x14], esi
jmp 0x466e4c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x178]
mov dword [eax + ecx*4], 0x9b37d022
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x466e36
cmp dword [esp + 0x30], esi
jne 0x466e79
mov eax, dword [esp + 0x178]
mov dword [eax], 0xda7209c3
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], 0xfffffff7
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x30]
inc dword [esp + 0x194]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x178]
cmp dword [eax], ecx
sete dl
xor ecx, ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x34]
add edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp edx, eax
setle cl
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x2c], esi
je 0x466f97
push 4
lea ecx, [esp + 0x14c]
call fcn.00432821
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x466eec
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x134], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x466edd
mov dword [esp + 0x10], eax
jmp 0x466f0b
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x148]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x466ef8
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x466f23
push eax
call dword [0xaa920c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x148]
mov dword [esp + 0x134], esi
cmp edi, dword [eax]
sbb eax, eax
xor ecx, ecx
neg eax
imul edx, eax, 0x9cd8
mov eax, dword [esp + 0x2c]
sub edx, 0xb3f5
cmp edx, eax
setge cl
add esi, 0x568572e3
sub esi, ecx
neg esi
sbb esi, esi
xor edx, edx
inc esi
imul esi, dword [esp + 0x28]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x28]
cmp esi, dword [eax]
mov eax, dword [esp + 0x24]
setg dl
add eax, edx
add ecx, eax
mov eax, dword [esp + 0x148]
mov dword [eax], ecx
lea ecx, [esp + 0x148]
call fcn.004328f3
xor esi, esi
jmp 0x466f9f
mov dword [esp + 0x14], 0x647d02c9
lea ecx, [esp + 0x178]
call fcn.004328f3
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xd
jg 0x466e0f
mov esi, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x14], 0xffffffe3
jmp 0x466fe3
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x466fdf
push eax
push eax
call dword [0xaa9200]
xor eax, eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0xa
jge 0x466fca
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x14], 0x184c506d
mov dword [esp + 0x14], eax
jmp 0x467012
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x268], 0xfffffff9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x466fff
xor edx, edx
mov dword [esp + 0x14], eax
inc edx
jmp 0x46703d
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x467039
push eax
call dword [0xaa9160]
xor edx, edx
xor eax, eax
inc edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jle 0x467022
test edi, edi
je 0x46770b
test esi, esi
je 0x46770b
mov dword [esp + 0x14], 0xf0796840
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 0xffff
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x10], 0xb9a67b9c
mov dword [esp + 0x2c], 0x8b536e21
mov dword [esp + 0x30], 0x4212cf72
mov dword [esp + 0x34], eax
mov dword [esp + 0x34], 0xd8aa
mov dword [esp + 0x10], eax
jmp 0x4670a9
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x48], 0xa3eaa3e8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x467099
mov dword [esp + 0x10], eax
jmp 0x4670c8
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x10c], 0xeb10
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x4670b5
cmp dword [esp + 0x14], eax
je 0x4670e4
mov ecx, dword [esp + 0x14]
mov esi, edx
add ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x14]
jne 0x4670e6
mov esi, eax
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp esi, ecx
setl dl
xor esi, esi
mov dword [esp + 0x24], edx
inc esi
mov ecx, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x10]
cmp ecx, 0x51404fc4
mov ecx, dword [esp + 0x48]
setl dl
sub edx, ecx
cmp edx, 0xc6da
jg 0x467244
mov dword [esp + 0x14], 0xfffffff6
mov dword [esp + 0x2c], 0x265c9e2f
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffffe
pop edx
cmp edx, ecx
sbb ecx, ecx
neg ecx
imul ecx, dword [esp + 0x18]
test ecx, ecx
je 0x467175
cmp dword [esp + 0x14], eax
jne 0x467177
mov esi, eax
mov ecx, dword [esp + 0x48]
xor edx, edx
cmp ecx, esi
setg dl
xor esi, esi
inc esi
cmp esi, edx
sbb ecx, ecx
neg ecx
cmp ecx, 0x7606
jg 0x46719b
mov ecx, esi
cmp dword [esp + 0x14], eax
jne 0x46719d
mov ecx, eax
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
cmp edx, ecx
push 0
pop ecx
setl cl
sub ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
sub edx, ecx
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x2c], edx
xor edx, edx
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xb040
setge dl
sub edx, dword [esp + 0x48]
neg edx
sbb edx, edx
inc edx
cmp edx, dword [esp + 0x14]
jne 0x4671e8
cmp dword [esp + 0x14], eax
je 0x4671f0
mov ecx, esi
cmp dword [esp + 0x18], eax
jne 0x4671f2
mov ecx, eax
xor eax, eax
cmp ecx, 0xaa138a80
sete al
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x24]
add edx, 0x1d588f65
sub edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, esi
jae 0x46722f
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
neg eax
sbb eax, eax
neg eax
neg eax
mov dword [esp + 0x34], eax
jmp 0x467318
mov dword [esp + 0x2c], 0xb0bab1dd
mov dword [esp + 0x44], 0xc6e2fe0f
mov dword [esp + 0x28], 0x7e1e514d
cmp dword [esp + 0x34], eax
jne 0x46726d
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
neg edx
neg edx
sbb edx, edx
neg edx
imul ecx, edx
test ecx, ecx
je 0x4672b9
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], eax
jmp 0x4672a1
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x1f8], 0xd8fe
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jl 0x46728e
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1f8], eax
inc dword [esp + 0x2c]
jmp 0x467314
mov dword [esp + 0x18], 0xfffffff6
jmp 0x4672df
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x4672db
push 0xee1
call dword [0xaa91fc]
xor eax, eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x30
jg 0x4672c3
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], eax
jl 0x467314
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x46730a
push 0x19af
push eax
push eax
call dword [0xaa9204]
xor eax, eax
mov dword [esp + 0x44], eax
dec dword [esp + 0x24]
jns 0x4672f0
dec dword [esp + 0x28]
mov ecx, edi
call fcn.00465190
mov edi, eax
lea ecx, [esp + 0x50]
push 3
mov dword [esp + 0x24], edi
call fcn.00432821
mov dword [esp + 0x1c], 0x96960f57
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x2c], 0xfffffff7
mov dword [esp + 0x44], 0x2be2ff5f
push 4
call fcn.00432821
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x46736e
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x46735e
mov dword [esp + 0x10], eax
jmp 0x467391
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1bc]
mov dword [ecx + edx*4], 0x2c6f7398
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x46737b
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 2
jg 0x4676e8
mov edi, dword [esp + 0x50]
mov dword [esp + 0x38], edi
mov dword [esp + 0x10], 0xeb1ec6c0
xor edx, edx
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x30], 0xfffffff7
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
cmp dword [edi + 4], ecx
setge dl
xor edi, edi
xor ecx, ecx
inc edi
cmp edx, edi
setge cl
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
cmp dword [ecx + esi*4], edx
je 0x467545
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], 0x3a50eb6b
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
cmp dword [ecx + edx*4], eax
jne 0x46743d
cmp dword [esp + 0x14], eax
je 0x467425
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x14], 0xcb0b
jg 0x46743d
cmp dword [esp + 0x24], eax
jne 0x46743d
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xd1883800
mov ecx, dword [esp + 0x50]
sbb edx, edx
inc edx
mov dword [ecx + esi*4], edx
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0xffffffea
jl 0x46762b
push 2
pop edi
mov dword [esp + 0x34], 0x8fb
mov dword [esp + 0x14], eax
jmp 0x467482
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x270], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x467473
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], edi
jg 0x46751a
push dword [esp + 0xf0]
movdqa xmm0, xmmword [0xa9fae0]
lea ecx, [esp + 0x244]
push ecx
lea ecx, [esp + 0x238]
mov dword [esp + 0xb4], eax
push ecx
push eax
lea ecx, [esp + 0xbc]
mov dword [esp + 0xc0], eax
movdqu xmmword [esp + 0x240], xmm0
mov dword [esp + 0xc4], eax
call fcn.00432964
mov ecx, dword [esp + 0xac]
xor eax, eax
mov dword [esp + 0x30], eax
cmp dword [ecx + 0xc], eax
je 0x4675a9
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
sub ecx, 0xfffa
add ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
neg ecx
sbb ecx, ecx
mov esi, ecx
mov ecx, dword [esp + 0x50]
mov dword [ecx + edx*4], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
cmp esi, ecx
setg dl
xor ecx, ecx
cmp edx, 0x2acf1929
setne cl
xor edx, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0x34]
cmp esi, dword [ecx + 4]
setl dl
cmp edx, 0xb14b
jl 0x467605
mov edx, eax
cmp dword [esp + 0x18], eax
je 0x467607
mov edx, edi
mov eax, dword [esp + 0x44]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp eax, ecx
lea ecx, [esp + 0xac]
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
call fcn.004328f3
xor eax, eax
mov dword [esp + 0x18], 2
cmp dword [esp + 0x18], eax
jl 0x4676d1
mov dword [esp + 0x34], 0xcfcbfa33
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
push 0
mov dword [ecx + edx*4], 0x28f8f04b
xor edx, edx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x54]
cmp ecx, dword [esi + edi*4]
setge dl
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x20]
cmp dword [edx + esi*4], ecx
pop ecx
setge cl
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x50]
setns dl
mov ecx, dword [ecx + edi*4]
neg ecx
cmp ecx, edx
jg 0x4676ba
cmp dword [esp + 0x18], eax
je 0x4676ba
xor ecx, ecx
lea esi, [ecx + 1]
jmp 0x4676bc
mov esi, eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
mov dword [ecx + edx*4], esi
dec dword [esp + 0x18]
jns 0x46763d
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
mov edi, dword [esp + 0x38]
jle 0x4673af
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x1bc]
call fcn.004328f3
lea ecx, [esp + 0x50]
call fcn.004328f3
lea eax, [esp + 0x5c]
push eax
call fcn.00467bf0
mov dword [eax], edi
jmp 0x46770f
mov edi, dword [esp + 0x20]
push 5
pop eax
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], eax
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x38], 6
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
jmp 0x467751
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x9c], 0x82062403
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x46773e
xor esi, esi
mov dword [esp + 0x10], eax
inc esi
jmp 0x467774
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x1f4], 0xd9c7279c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x467761
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], eax
jl 0x467884
xor edi, edi
xor esi, esi
inc edi
push 2
lea ecx, [esp + 0x19c]
call fcn.00432821
mov dword [esp + 0x38], 0x12dc
mov dword [esp + 0x14], esi
jmp 0x4677bf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x198]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x4677ad
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x198]
sete dl
mov dword [eax], edx
test edx, edx
jne 0x467806
mov edx, esi
cmp dword [esp + 0x9c], esi
je 0x467808
mov edx, edi
mov eax, dword [esp + 0xa8]
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, 0x4d
setge al
xor edx, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0x9c]
cmp eax, 0x5734cb44
mov eax, dword [esp + 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x198]
call fcn.004328f3
dec dword [esp + 0x18]
jns 0x467791
mov edi, dword [esp + 0x20]
xor esi, esi
inc esi
dec dword [esp + 0x30]
lea ecx, [esp + 0xd4]
call fcn.00434417
mov dword [esp + 0x1c], esi
xor eax, eax
mov dword [esp + 0x20], 0x32a27689
mov dword [esp + 0x2c], 0xdc9fe9a5
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], 0xaa83fb18
mov dword [esp + 0x20], eax
jmp 0x4678cc
mov ecx, dword [esp + 0x20]
mov dword [esp + ecx*4 + 0x7c], 0x5c9b8db3
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x4678bc
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0xb
je 0x4679f2
mov dword [esp + 0x30], 0xa8358bd4
mov dword [esp + 0x38], 0x945a
mov dword [esp + 0x10], eax
jmp 0x467907
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x4c], 8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4678f7
mov dword [esp + 0x10], eax
jmp 0x467926
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x1e0], 0xafddf34f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x467913
inc dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x4c], eax
jne 0x467943
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], 0xfffffffb
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x4c], 0xa0c
jne 0x46796b
cmp dword [esp + 0x20], eax
jne 0x467973
mov ecx, eax
cmp dword [esp + 0x1c], eax
je 0x467975
mov ecx, esi
neg ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x7c], ecx
cmp ecx, dword [esp + 0x1c]
jne 0x467991
mov ecx, eax
cmp dword [esp + 0x20], eax
je 0x467993
mov ecx, esi
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
push 0
pop ecx
setle cl
xor edx, edx
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x1c]
setg dl
cmp edx, ecx
push 0
pop ecx
setl cl
xor edx, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x38]
push 1
setl dl
mov dword [esp + 0x3c], edx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xb
pop esi
jne 0x4678e1
test edi, edi
je 0x467b0a
mov dword [esp + 0x14], 0x3afc3718
mov ecx, 0x647c2c9e
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], eax
jmp 0x467a48
mov ecx, dword [esp + 0x20]
mov dword [esp + ecx*4 + 0x25c], 6
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x467a35
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x467a62
push eax
call dword [0xaa9340]
xor eax, eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp edx, ecx
mov ecx, dword [esp + 0xd0]
push 0
pop edx
setne dl
cmp edx, ecx
mov ecx, dword [esp + 0x14]
push 0
pop edx
setge dl
sub edx, 9
neg edx
sbb edx, edx
inc edx
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [esp + 0x14]
cmp edx, ecx
sbb esi, esi
neg esi
imul esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
neg esi
sbb esi, esi
inc esi
cmp esi, ecx
setge dl
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x2c], eax
jne 0x467acd
cmp dword [esp + 0xc8], eax
je 0x467ad0
xor eax, eax
inc eax
mov edx, dword [esp + 0x3c]
mov ecx, edi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0xd0]
mov dword [esp + 0x25c], eax
call fcn.004652b2
mov esi, eax
lea eax, [esp + 0x80]
push eax
mov dword [esp + 0xf8], esi
call fcn.00467b8e
mov dword [eax], esi
mov eax, dword [ebp + 8]
lea esi, [esp + 0xf4]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov esp, ebp
pop ebp
ret