Function at 0x4679df
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x4e80db
call fcn.004e7638
sub esp, 0x3ec
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x50], ecx
xor edi, edi
inc edi
mov dword [ebp - 0x14], edi
mov eax, 0xee327439
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
xor ebx, ebx
mov dword [ebp - 0x14], ebx
jmp 0x467a36
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x84], 0x6a53
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x467a25
dec dword [ebp - 0x84]
mov dword [ebp - 0x14], 0xffffffec
or esi, 0xffffffff
cmp dword [ebp - 0x14], 0x1b
jg 0x467aa3
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x18], ebx
jmp 0x467a6a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x258], 0xaa810d21
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x467a59
mov dword [ebp - 0x18], ebx
jmp 0x467a82
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x220], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x467a75
cmp dword [ebp - 0x24c], 6
sbb eax, eax
inc eax
mov dword [ebp - 0x1b8], eax
dec dword [ebp - 0x218]
inc dword [ebp - 0x14]
jmp 0x467a4b
mov dword [ebp - 0x1c], 0x1acc
mov dword [ebp - 0x40], 0x4859bb7a
mov dword [ebp - 0x38], 0x487223b1
mov dword [ebp - 0x28], 0xd35da2
push 2
lea ecx, [ebp - 0x18c]
call fcn.0043b6f6
mov dword [ebp - 0x40], 0x64de
mov dword [ebp - 0x18], 0x324067bc
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x14], ebx
jmp 0x467af5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x467ae6
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x467b12
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setg dl
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
add edx, 0xffff000a
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x28], ecx
mov esi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [esi + 4]
jne 0x467b69
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, dword [esi + 4]
setg cl
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setne dl
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp dword [esi + 4], eax
setne cl
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setg dl
sub edx, 0xd4
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x2c], edx
push 3
pop edx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x18c]
call fcn.0043b7c8
mov eax, dword [0xabe804]
test al, 1
jne 0x467c5d
or eax, edi
mov dword [0xabe804], eax
mov dword [0xabe830], ebx
mov dword [0xabe834], ebx
push ebx
push ebx
call fcn.0044e3c8
mov dword [0xabe830], eax
mov dword [0xabe838], ebx
mov dword [0xabe840], ebx
mov dword [0xabe84c], 0x3f800000
mov dword [ebp - 0xdc], eax
mov dword [0xabe83c], ebx
lea eax, [ebp - 0xdc]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1f4]
push eax
mov ecx, 0xabe838
call fcn.0044e0fe
mov dword [0xabe844], 7
mov dword [0xabe848], 8
push 0x4e8b4b
call fcn.004d1e6d
pop ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], ebx
jmp 0x467cbc
push 3
lea ecx, [ebp - 0x1a4]
call fcn.0043b6f6
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], 0x3f36a5b5
mov dword [ebp - 0x3c], 0xa26cdee9
mov dword [ebp - 0x14], ebx
jmp 0x467c9b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1a4]
mov dword [eax + ecx*4], 0x59e57ad9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x467c88
mov eax, dword [ebp - 0x1a4]
mov dword [eax + 4], 0xe
lea ecx, [ebp - 0x1a4]
call fcn.0043b7c8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1c
jl 0x467c65
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x467cdc
push ebx
push ebx
push 0x2311
push 0x2203
call dword [0xac04e8]
imul eax, dword [ebp - 0x50], 0x2710
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x7c], eax
push 3
lea ecx, [ebp - 0xa0]
call fcn.0043b6f6
mov dword [ebp - 0x1c], 0xb1cecb45
mov dword [ebp - 0x14], ebx
jmp 0x467d11
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x467d02
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 2
jg 0x467e16
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x3c], 0xfffffff7
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x38], 7
inc dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0x9253
setge al
mov dword [esi + 4], eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0x11
jne 0x467e09
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x2c], 0x39d3cd3
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x467da3
push edi
push ebx
push 0x202e
push 0x18a8
call dword [0xac04c8]
cmp dword [ebp - 0x18], ebx
jne 0x467dc9
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, dword [edx + esi*4]
setl cl
cmp ecx, 0xffff
mov edx, ebx
jbe 0x467dcb
mov edx, edi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], edi
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
je 0x467d78
mov esi, dword [ebp - 0x24]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x467d2d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setl dl
add edx, 0x37069ee4
mov eax, dword [ebp - 0xa0]
mov dword [eax], edx
mov dword [ebp - 0x1c], edx
lea ecx, [ebp - 0xa0]
call fcn.0043b7c8
lea eax, [ebp - 0x7c]
push eax
call fcn.0046ac56
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], 0xc7af5af8
mov dword [ebp - 0x14], 0xfffffffb
or esi, 0xffffffff
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], 4
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x467e78
push ebx
push ebx
call dword [0xac015c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setg dl
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
je 0x467ebe
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
je 0x467ea5
cmp dword [ebp - 0x14], ebx
mov ecx, edi
jne 0x467ea7
mov ecx, ebx
add ecx, 0xe075257
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setge dl
cmp edx, dword [ebp - 0x14]
mov edx, edi
je 0x467ec0
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x131d8b9d
setg cl
xor eax, eax
cmp ecx, dword [ebp - 0x2c]
setne al
imul eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp dword [ebp - 0x2c], eax
setne dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
imul eax, dword [ebp - 0x30], 0x511b
test eax, eax
je 0x467f27
cmp dword [ebp - 0x14], ebx
mov ecx, edi
jne 0x467f29
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
imul eax, ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x40], ebx
je 0x46828f
mov dword [ebp - 0x18], 0x9d4
mov dword [ebp - 0x14], 0x1b1b552b
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x38], 0x2c7a2e42
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x18]
jne 0x467f7f
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x18]
jne 0x467f6f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, 0xb504
sub ecx, eax
cmp ecx, edi
mov edx, ebx
jb 0x467f81
mov edx, edi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff9
add eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x18]
jge 0x468021
mov dword [ebp - 0x1c], ebx
jmp 0x468007
mov dword [ebp - 0x14], ebx
jmp 0x467fef
cmp byte [ebp - 0x1d], bl
je 0x467fdc
push ebx
push 0x14b0
push ebx
push ebx
call dword [0xac0348]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x467fec
push ebx
push ebx
call dword [0xac041c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x2a
mov byte [ebp - 0x1d], bl
je 0x467fc9
cmp byte [ebp - 0x1d], bl
je 0x468004
push ebx
call dword [0xac0320]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x16
jl 0x467fc4
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x46809c
call dword [0xac0554]
jmp 0x46809c
mov dword [ebp - 0x30], 0x18de0f4c
mov dword [ebp - 0x1c], ebx
jmp 0x468096
mov dword [ebp - 0x28], 0xfffb
cmp dword [ebp - 0x38], ebx
jne 0x46807a
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp - 0x1c]
jle 0x468056
cmp dword [ebp - 0x18], ebx
mov ecx, edi
jne 0x468058
mov ecx, ebx
xor eax, eax
cmp ecx, 0x4ecb5cb1
sete al
add eax, dword [ebp - 0x30]
cmp eax, 0xfffffff8
sbb eax, eax
neg eax
imul eax, eax, 0x24ac
cmp eax, dword [ebp - 0x14]
mov ecx, ebx
jge 0x46807c
mov ecx, edi
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x46802d
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x40], 0xfd89d684
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0xb8f3bec
push 4
lea ecx, [ebp - 0x180]
call fcn.0043b6f6
mov dword [ebp - 0x44], 0xbf698ba8
mov dword [ebp - 0x28], 0x3ca6
cmp dword [ebp - 0x28], 0x3fe6
jle 0x468153
mov edi, ebx
mov dword [ebp - 0x38], ebx
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], ebx
mov eax, edi
cdq
idiv ecx
mov edi, edx
mov esi, ebx
mov ebx, dword [ebp - 0x40]
mov eax, ebx
cdq
idiv esi
lea eax, [edi + edx]
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc esi
cmp esi, 0x7ac6
jl 0x4680fa
inc ebx
mov dword [ebp - 0x40], ebx
cmp ebx, 0x1f79
push 0
pop ebx
jl 0x4680f5
mov ecx, dword [ebp - 0x30]
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x49a7
mov edi, dword [ebp - 0x38]
jl 0x4680eb
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x61a
jl 0x4680e6
push ebx
push ebx
call dword [0xac0390]
xor edi, edi
inc edi
or esi, 0xffffffff
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x3af6
jge 0x46816e
mov edx, 0xa9ebc8
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x468198
mov dword [ebp - 0x14], ebx
jmp 0x4681ac
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x180]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x46819d
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x4681c3
push ebx
push ebx
call dword [0xac003c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x1c]
sub edx, 6
cmp edx, edi
sbb eax, eax
neg eax
add eax, dword [ebp - 0x1c]
jne 0x468208
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub esi, eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp esi, eax
setg cl
shl ecx, 3
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setle dl
add edx, dword [ebp - 0x1c]
xor eax, eax
cmp edx, 0xbc6e
setle al
cmp eax, 0xade726f2
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x180]
imul edx, dword [eax + 4]
add edx, 0xf41a
mov dword [ebp - 0x44], edx
lea ecx, [ebp - 0x180]
jmp 0x46ab83
mov dword [ebp - 0x18], 0xb110c93b
mov dword [ebp - 0x14], ebx
jmp 0x4682ac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa8], 0x7a23a340
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x46829b
mov dword [ebp - 0x18], ebx
push 0xfffffffffffffffc
pop eax
cmp dword [ebp - 0x18], eax
jl 0x4684be
mov dword [ebp - 0x14], 0x9c3
mov dword [ebp - 0x38], 0xd658edfe
mov dword [ebp - 0x30], 7
push edi
lea ecx, [ebp - 0xcc]
call fcn.0043b6f6
mov dword [ebp - 0x30], 0x4da86284
mov dword [ebp - 0x1c], ebx
jmp 0x468301
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4682ee
mov dword [ebp - 0x34], 0x769
cmp dword [ebp - 0x34], 0x935
jle 0x468373
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], 0x7805
mov esi, ebx
mov dword [ebp - 0x30], 0x1b70
mov edi, ebx
mov eax, esi
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc edi
cmp edi, 0x75c8
jl 0x46832e
mov ecx, dword [ebp - 0x38]
add esi, ecx
dec dword [ebp - 0x30]
jne 0x46832c
mov eax, dword [ebp - 0x1c]
add ecx, eax
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x28]
jne 0x468323
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x75b4
jl 0x468319
xor edi, edi
inc edi
or esi, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], 0xb2bc40ed
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xcc]
mov dword [eax], ecx
xor edx, edx
cmp ecx, 0xfffffffa
setne dl
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, edx
setne cl
neg ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, dword [ebp - 0x2c]
setne cl
cmp ecx, dword [ebp - 0x14]
jne 0x4683bc
cmp dword [ebp - 0x18], ebx
mov ecx, ebx
jne 0x4683be
mov ecx, edi
add ecx, 0x5712bf5f
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, ecx
setge dl
neg edx
mov dword [ebp - 0x30], edx
je 0x468471
mov dword [ebp - 0x14], ebx
jmp 0x4683eb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x168], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4683de
cmp dword [ebp - 0x168], ebx
jne 0x468429
cmp dword [ebp - 0x18], ebx
jne 0x468429
mov dword [ebp - 0x14], ebx
jmp 0x46841e
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46841b
push ebx
push ebx
push 0x21e9
push ebx
push ebx
call dword [0xac0030]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffed
je 0x468403
jmp 0x4685d7
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x38]
neg eax
jne 0x468439
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x2c], ebx
jne 0x468444
mov eax, dword [ebp - 0x168]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, 0x5b45beac
setge cl
xor edx, edx
cmp ecx, 0x540f213e
setg dl
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0xa4], ecx
jmp 0x4685d7
push 2
lea ecx, [ebp - 0x130]
call fcn.0043b6f6
mov dword [ebp - 0x1c], ebx
jmp 0x468496
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], 0xf4802d14
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x468483
cmp dword [ebp - 0xa4], ebx
je 0x468585
lea ecx, [ebp - 0x130]
call fcn.0043b7c8
lea ecx, [ebp - 0xcc]
call fcn.0043b7c8
mov eax, dword [0xabe804]
test al, 2
jne 0x468543
or eax, 2
mov dword [0xabe804], eax
mov dword [0xabe810], ebx
mov dword [0xabe814], ebx
push ebx
push ebx
call fcn.0044e3c8
mov dword [0xabe810], eax
mov dword [0xabe818], ebx
mov dword [0xabe820], ebx
mov dword [0xabe82c], 0x3f800000
mov dword [ebp - 0xe0], eax
mov dword [0xabe81c], ebx
lea eax, [ebp - 0xe0]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1dc]
push eax
mov ecx, 0xabe818
call fcn.0044e0fe
mov dword [0xabe824], 7
mov dword [0xabe828], 8
push 0x4e8b46
call fcn.004d1e6d
pop ecx
mov dword [ebp - 0x18], esi
push edi
lea ecx, [ebp - 0x100]
call fcn.0043b6f6
mov dword [ebp - 0x38], 4
mov eax, 0xe9942c3b
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x2c], 0x5e45db0f
mov dword [ebp - 0x14], ebx
jmp 0x468646
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x130]
cmp dword [eax + 4], 0x1f5eb7f4
setl dl
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xcc]
imul ecx, dword [eax]
imul ecx, edx
xor edx, edx
cmp ecx, 0xfffffffc
setg dl
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0xcc]
mov dword [eax], ecx
lea ecx, [ebp - 0x130]
call fcn.0043b7c8
mov dword [ebp - 4], 2
cmp dword [ebp - 0x34], 0x710
jge 0x4685f6
mov edx, 0xa9ec5c
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x468620
lea ecx, [ebp - 0xcc]
call fcn.0043b7c8
dec dword [ebp - 0x18]
jmp 0x4682b5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0x3cdf98a5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x468633
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0x12
jne 0x468875
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], 0x3147f59e
mov dword [ebp - 0x24], 0x4dd
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x4687cf
push 3
lea ecx, [ebp - 0x160]
call fcn.0043b6f6
mov dword [ebp - 0x24], 0x6c6c
cmp dword [ebp - 0x24], 0x6ff0
jle 0x468727
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], 0xd97
mov eax, ebx
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x38]
mov edx, ebx
mov dword [ebp - 0x34], edx
mov ecx, eax
mov eax, esi
sar eax, cl
mov dword [ebp - 0x2c], eax
mov ecx, edx
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x280]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4686d5
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x280]
call fcn.0043bad2
mov edx, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x34], edx
cmp edx, 0x10a5
mov eax, dword [ebp - 0x2c]
jl 0x4686b9
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x7079
jl 0x4686ab
mov esi, dword [ebp - 0x1c]
add dword [ebp - 0x38], esi
dec dword [ebp - 0x28]
jne 0x4686a3
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x78a
jl 0x468699
or esi, 0xffffffff
mov dword [ebp - 4], 4
cmp dword [ebp - 0x24], 0x68e0
jge 0x468742
push 0xa9ec88
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46876c
mov dword [ebp - 0x1c], ebx
jmp 0x468784
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], 0x4ebb0cb8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x468771
mov eax, dword [ebp - 0x160]
mov dword [eax], ebx
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x4687af
push ebx
push 0x20ae
push ebx
push ebx
push 0x2049
push ebx
call dword [0xac0308]
mov eax, dword [ebp - 0x160]
inc dword [eax]
cmp dword [eax], 0
jle 0x468792
lea ecx, [ebp - 0x160]
call fcn.0043b7c8
inc dword [ebp - 0x14]
jmp 0x46866c
mov dword [ebp - 0x38], esi
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x100]
cmp dword [eax], ecx
sete dl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp dword [ebp - 0x2c], eax
sete dl
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setle dl
cmp edx, 0x8009
je 0x468815
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, 0x89d9
setg dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
push 0xfffffffffffffffd
pop eax
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setl dl
sub edx, 0x8edf
neg edx
sbb edx, edx
xor ecx, ecx
mov eax, dword [ebp - 0x100]
cmp edx, dword [eax]
setge cl
mov eax, dword [ebp - 0x18]
sub ecx, eax
imul ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x18]
jmp 0x46864e
lea ecx, [ebp - 0x100]
call fcn.0043b7c8
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x2c], 0x703c5764
push 2
lea ecx, [ebp - 0x198]
call fcn.0043b6f6
mov dword [ebp - 0x3c], 0xcad
mov dword [ebp - 0x3c], 0x20796559
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x14], ebx
jmp 0x4688d2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x198]
mov dword [eax + ecx*4], 0x3b0a6d08
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4688bf
mov dword [ebp - 0x1c], 0xfffffff6
cmp dword [ebp - 0x1c], 0xfffffff6
jne 0x468a45
mov dword [ebp - 0x14], 0xf390197f
mov dword [ebp - 0x24], 0x6dda
cmp dword [ebp - 0x24], 0x7069
jle 0x468948
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, edi
mov ecx, ebx
shl eax, cl
or eax, esi
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc ebx
cmp ebx, 0x215c
jl 0x468907
inc edi
cmp edi, 0x71e8
push 0
pop ebx
jl 0x468904
inc esi
cmp esi, 0x4416
jl 0x468902
push ebx
push ebx
call dword [0xac02d0]
xor edi, edi
inc edi
or esi, 0xffffffff
mov dword [ebp - 4], 6
cmp dword [ebp - 0x24], 0x6a63
jge 0x468967
mov edx, 0xa9ece8
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x468991
mov dword [ebp - 0x24], 0xfffa
mov dword [ebp - 0x18], ebx
jmp 0x4689ae
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x204], 0xd95e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x46899d
mov dword [ebp - 0x18], ebx
jmp 0x4689ca
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x248], 8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x4689b9
mov dword [ebp - 0x14], ebx
jmp 0x468a34
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x204], 0x274952f
jle 0x4689ef
cmp dword [ebp - 0x1f8], ebx
mov edx, ebx
je 0x4689f1
mov edx, edi
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x204]
lea eax, [edx + 0x72b9]
cmp ecx, eax
jl 0x468a08
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, 0x6baf
setge al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [ebp - 0x2c], eax
setg cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x4689d5
inc dword [ebp - 0x24]
inc dword [ebp - 0x1c]
jmp 0x4688df
mov dword [ebp - 0x1c], ebx
jmp 0x468a5d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x198]
mov dword [eax + ecx*4], 0x33bab721
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x468a4a
lea ecx, [ebp - 0x198]
call fcn.0043b7c8
lea eax, [ebp - 0x50]
push eax
call fcn.0046acb8
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
cmp byte [ebp + 0xc], 0
jne 0x468a8a
test eax, eax
jne 0x46923a
lea eax, [ebp - 0x3f8]
push eax
mov dl, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x50]
call fcn.0044ee1b
pop ecx
mov esi, eax
lea edi, [ebp - 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0x1c61
cmp dword [ebp - 0x24], 0x1fc1
jle 0x468ae0
mov esi, ebx
mov edi, ebx
mov eax, edi
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc edi
cmp edi, 0x16b8
jl 0x468abd
inc esi
cmp esi, 0x6b15
jl 0x468abb
mov dword [ebp - 4], 8
cmp dword [ebp - 0x24], 0x19c0
jge 0x468aff
mov edx, 0xa9ed38
mov ecx, 0xabd5d8
call fcn.0043cf87
or esi, 0xffffffff
mov dword [ebp - 4], esi
xor edi, edi
inc edi
jmp 0x468b2f
push 3
lea ecx, [ebp - 0x118]
call fcn.0043b6f6
mov dword [ebp - 0x18], 0xa9831117
mov dword [ebp - 0x14], 0x443eb606
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0x481a
cmp dword [ebp - 0x24], 0x485d
jle 0x468b8d
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, edi
mov ecx, ebx
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc ebx
cmp ebx, 0xb0
jl 0x468b62
inc edi
cmp edi, 0x1264
push 0
pop ebx
jl 0x468b5f
xor edi, edi
inc edi
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x24], 0x456f
jge 0x468bac
mov edx, 0xa9ed70
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x468bd6
mov dword [ebp - 0x18], ebx
jmp 0x468bee
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x118]
mov dword [eax + ecx*4], 0x3606
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x468bdb
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x2c], eax
cmp dword [eax + 4], ebx
je 0x468c23
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setg dl
cmp edx, 0x15e82aa9
jle 0x468c1f
cmp dword [ebp - 0x14], ebx
je 0x468c23
mov eax, edi
jmp 0x468c25
mov eax, ebx
xor ecx, ecx
push 0xfffffffffffffffc
pop edx
cmp eax, edx
setge cl
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setg dl
push 5
pop eax
cmp eax, edx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
imul eax, dword [edx + 4]
cmp eax, ecx
jne 0x468d73
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 2
jg 0x468e72
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x468c76
push ebx
push 0x24b
call dword [0xac0568]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 2
jg 0x468d6b
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x468d63
mov dword [ebp - 0x28], 0x48d7
cmp dword [ebp - 0x28], 0x4bd3
jle 0x468cfd
call dword [0xac02c8]
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov esi, eax
mov dword [ebp - 0x34], 0x3a6e
mov eax, ebx
mov dword [ebp - 0x24], ebx
or eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x65f8
jl 0x468cbb
dec esi
dec dword [ebp - 0x34]
jne 0x468cb6
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x3da
jl 0x468cad
inc edi
cmp edi, 0x699c
jl 0x468ca8
xor edi, edi
inc edi
or esi, 0xffffffff
push ebx
push 0x1351
push 0x1a0c
push ebx
push 0xb60
push 0x1590
push ebx
call dword [0xac0364]
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x28], 0x4501
jge 0x468d39
mov edx, 0xa9ede0
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x468d63
inc dword [ebp - 0x18]
jmp 0x468c79
inc dword [ebp - 0x14]
jmp 0x468c57
mov dword [ebp - 0x24], 0x4c51
cmp dword [ebp - 0x24], 0x4ced
jle 0x468dbf
push 0x565
push ebx
push ebx
call dword [0xac02bc]
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov esi, 0x565e
mov eax, ebx
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
add ebx, edi
dec esi
jne 0x468d9a
inc edi
cmp edi, 0x4515
push esi
pop ebx
jl 0x468d92
xor edi, edi
inc edi
or esi, 0xffffffff
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x24], 0x49d3
jge 0x468dde
mov edx, 0xa9ee04
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x468e08
mov dword [ebp - 0x2c], 0x446bd29a
mov dword [ebp - 0x14], ebx
jmp 0x468e25
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x468e14
mov eax, dword [ebp - 0xf4]
neg eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x118]
cmp ecx, dword [eax]
setge dl
push 5
pop eax
cmp eax, edx
sbb eax, eax
neg eax
xor ecx, ecx
cmp eax, 0xfffffff6
setl cl
mov eax, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x468e72
push 0x1c91
call dword [0xac03cc]
lea ecx, [ebp - 0x118]
call fcn.0043b7c8
cmp byte [ebp + 0xc], 0
je 0x46923a
cmp dword [ebp - 0x8c], 0
je 0x46923a
mov dword [ebp - 0x18], 0x76f5020f
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0x9c279a20
push 3
lea ecx, [ebp - 0x1b0]
call fcn.0043b6f6
mov dword [ebp - 0x18], ebx
jmp 0x468ec4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf0], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x468eb7
mov dword [ebp - 0x18], ebx
jmp 0x468ee2
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1b0]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x468ecf
mov dword [ebp - 0x18], ebx
jmp 0x468f67
cmp dword [ebp - 0x18], ebx
jne 0x468f0e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
mov edx, ebx
je 0x468f10
mov edx, edi
mov eax, dword [ebp - 0xf0]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + eax*4 - 0xf0]
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0xec]
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0xfffffff6
sbb edx, edx
neg edx
mov eax, dword [ebp - 0xec]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x2146
setg al
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0x28], ebx
jne 0x468f6d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x468eed
mov dword [ebp - 0xf0], ebx
mov eax, dword [ebp - 0x1b0]
mov dword [eax + 4], ebx
lea ecx, [ebp - 0x1b0]
call fcn.0043b7c8
mov dword [ebp - 0x30], 0x5895
cmp dword [ebp - 0x30], 0x5b72
jle 0x469005
push ebx
push ebx
push ebx
call dword [0xac057c]
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov esi, eax
mov dword [ebp - 0x24], 0x5c82
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, edi
cdq
idiv ebx
or edx, esi
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc ebx
cmp ebx, 0x5c2b
jl 0x468fb3
inc edi
cmp edi, 0x164c
push 0
pop ebx
jl 0x468fb0
dec esi
dec dword [ebp - 0x24]
jne 0x468fae
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x1640
jl 0x468fa5
push ebx
push ebx
push 0x1709
call dword [0xac02cc]
xor edi, edi
inc edi
or esi, 0xffffffff
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x30], 0x55fb
jge 0x469030
mov edx, 0xa9ee30
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x46905a
mov dword [ebp - 0x24], 0x5804
cmp dword [ebp - 0x24], 0x59ca
jle 0x4690d6
push 0x10b
push 0x60d
push 0x1787
push 0xc80
push ebx
call dword [0xac0590]
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x3a0]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4690a8
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x3a0]
call fcn.0043bad2
inc esi
cmp esi, 0x6440
mov eax, dword [ebp - 0x28]
jl 0x46908c
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x45d2
jl 0x46908a
or esi, 0xffffffff
mov dword [ebp - 0x18], 0x369b
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x24], 0x55ea
jge 0x4690f8
push 0xa9eeb8
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x469122
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x3c], 0x7cf8fb6f
mov dword [ebp - 0x3c], 0x1a0197cb
mov dword [ebp - 0x3c], 0x18a88acc
mov dword [ebp - 0x34], 0xe18bd2e8
mov dword [ebp - 0x14], ebx
jmp 0x469165
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], 0xa964a90c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x469157
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
je 0x46918b
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x64], eax
jle 0x469184
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov ecx, edi
jmp 0x46918d
mov ecx, ebx
xor eax, eax
cmp ecx, 0xd636
setle al
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x4691a3
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x64]
jl 0x4691c2
cmp dword [ebp - 0x64], ebx
mov ecx, ebx
je 0x4691c4
mov ecx, edi
add ecx, 0xfffffff7
mov eax, dword [ebp - 0x64]
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x14], 0xa
jmp 0x469221
mov dword [ebp - 0x2c], 0x17a6
push 3
lea ecx, [ebp - 0x174]
call fcn.0043b6f6
mov dword [ebp - 0x18], ebx
jmp 0x469205
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x174]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4691f6
lea ecx, [ebp - 0x174]
cmp dword [ebp - 0x2c], ebx
jne 0x469229
inc dword [ebp - 0x34]
call fcn.0043b7c8
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff7
jge 0x4691dd
jmp 0x46922e
call fcn.0043b7c8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xd0], eax
push 3
lea ecx, [ebp - 0x124]
call fcn.0043b6f6
mov dword [ebp - 0x18], ebx
jmp 0x46925f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0x540d7f82
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x46924c
mov dword [ebp - 0x18], ebx
jmp 0x469274
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x46926a
mov eax, dword [ebp - 0x124]
mov dword [eax], ebx
mov dword [ebp - 0x48], ebx
jmp 0x469324
mov dword [ebp - 0x14], 0x8039d6b9
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
mov dword [eax], 0xfffb
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
setge dl
sub edx, 0xf1e5
xor eax, eax
cmp edx, edi
setl al
xor edx, edx
cmp eax, 0x4b5a
setg dl
mov eax, dword [ebp - 0x48]
sub edx, eax
xor ecx, ecx
cmp edx, 0x758b39d2
setl cl
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
setge cl
imul eax, ecx, 0xfffb
test eax, eax
je 0x4692fb
cmp dword [ebp - 0x14], ebx
mov eax, edi
jne 0x4692fd
mov eax, ebx
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x469321
push ebx
push 0x1d3b
push 0x1cc1
push 0x1f87
push ebx
push ebx
call dword [0xac0330]
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 2
jle 0x469289
lea ecx, [ebp - 0x124]
call fcn.0043b7c8
cmp dword [ebp - 0x38], 0
jne 0x469f5b
cmp dword [ebp - 0x94], 0
jle 0x469f5b
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], 0x16
cmp dword [ebp - 0x18], 8
jge 0x46948a
mov dword [ebp - 0x14], 0x4c3c
mov dword [ebp - 0x24], 0x9b37d02
mov dword [ebp - 0x24], 0x227f
cmp dword [ebp - 0x24], 0x2627
jle 0x4693fc
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
cdq
idiv esi
and edx, ecx
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x2e0]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4693b7
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2e0]
call fcn.0043bad2
inc esi
cmp esi, 0x4e98
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
jl 0x469398
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x775e
jl 0x469396
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x203d
jl 0x469391
or esi, 0xffffffff
push ebx
push ebx
call dword [0xac03e0]
mov dword [ebp - 0x1c], ebx
jmp 0x46940f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x80], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x469401
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x24], 0x20d7
jge 0x46942f
push 0xa9ef08
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x469459
cmp dword [ebp - 0x14], ebx
je 0x469549
mov dword [ebp - 0x1c], ebx
jmp 0x469478
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x268], 0x82eac453
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x469467
cmp dword [ebp - 0x260], ebx
je 0x46960e
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x4694a8
push ebx
push 0xef5
push ebx
push 0x7c6
call dword [0xac0180]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x4694bc
push 0x207a
call dword [0xac03d8]
mov dword [ebp - 0x3c], 0x70ad6f2e
mov dword [ebp - 0x34], 0x786f
cmp dword [ebp - 0x34], 0x7a70
jle 0x469515
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov ebx, eax
mov esi, 0x58c1
mov eax, edi
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
dec ebx
dec esi
jne 0x4694e1
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x7b7a
jl 0x4694da
inc edi
cmp edi, 0x48d6
push esi
pop ebx
jl 0x4694d5
xor edi, edi
inc edi
or esi, 0xffffffff
push 2
lea ecx, [ebp - 0x1ec]
call fcn.0043b6f6
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x34], 0x7642
jge 0x469541
mov edx, 0xa9eff0
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x469788
mov byte [ebp - 0x1d], bl
mov dword [ebp - 0x1c], 0x5b32
cmp dword [ebp - 0x1c], 0x5e99
jle 0x4695b8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 0x65c0
mov esi, ebx
mov dword [ebp - 0x24], 0x4ddc
mov edi, ebx
mov eax, esi
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc edi
cmp edi, 0x5bbf
jl 0x469574
mov ecx, dword [ebp - 0x34]
add esi, ecx
dec dword [ebp - 0x24]
jne 0x469572
mov eax, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x30]
jne 0x469569
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x5951
jl 0x46955f
xor edi, edi
inc edi
or esi, 0xffffffff
cmp byte [ebp - 0x1d], 0
je 0x4695c5
push ebx
call dword [0xac032c]
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x1c], 0x5a11
jge 0x4695e4
mov edx, 0xa9ef6c
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x46960e
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], 0xfffffffa
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x28], ebx
je 0x469674
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x2c], 0x9d44f4cc
cmp dword [ebp - 0x1c], ebx
je 0x46964a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46975b
push ebx
push 0xe38
call dword [0xac05cc]
jmp 0x46975b
mov dword [ebp - 0x24], 0x7741
cmp dword [ebp - 0x24], 0x7b20
jle 0x469710
push 0x104c
call dword [0xac0524]
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
cdq
idiv esi
xor edx, ecx
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x370]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4696be
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x370]
call fcn.0043bad2
inc esi
cmp esi, 0x7136
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
jl 0x46969f
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x6484
jl 0x46969d
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x374a
jl 0x469698
push 0x265d
push 0xb38
push 0x21f2
call dword [0xac0090]
or esi, 0xffffffff
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x24], 0x74ab
jge 0x469731
push 0xa9efd4
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46975b
dec dword [ebp - 0x18]
jmp 0x469364
mov dword [ebp - 0x3c], 0xc3ad
mov dword [ebp - 0x3c], 0x3b1
mov dword [ebp - 0x3c], 0x540ee1d4
mov dword [ebp - 0x30], 0x374b
cmp dword [ebp - 0x30], 0x3836
jle 0x46980c
push ebx
push 0x17b5
call dword [0xac009c]
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0x4646
cdq
push edx
push eax
lea ecx, [ebp - 0x310]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4697df
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x310]
call fcn.0043bad2
mov eax, dword [ebp - 0x24]
add eax, esi
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x34]
jne 0x4697c7
inc esi
cmp esi, 0x4f26
jl 0x4697bb
or esi, 0xffffffff
mov dword [ebp - 0x24], 0xccc09984
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x30], 0x34e3
jge 0x46982e
push 0xa9f010
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x469858
mov dword [ebp - 0x14], ebx
jmp 0x469870
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1ec]
mov dword [eax + ecx*4], 0x20f89b54
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x46985d
dec dword [ebp - 0x24]
lea ecx, [ebp - 0x1ec]
call fcn.0043b7c8
push 4
lea ecx, [ebp - 0x13c]
call fcn.0043b6f6
mov dword [ebp - 0x34], 0x348f4a8
mov dword [ebp - 0x24], 0xe10e5e53
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], 0x386f
cmp dword [ebp - 0x14], 0x3aae
jle 0x46991c
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0x1522
mov esi, ecx
mov dword [ebp - 0x24], 0x6b02
mov eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x3d0]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4698e4
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x3d0]
call fcn.0043bad2
inc esi
dec dword [ebp - 0x24]
jne 0x4698ca
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
add ecx, eax
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x30]
jne 0x4698c1
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x106f
jl 0x4698b5
or esi, 0xffffffff
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x14], 0x36b4
jge 0x469937
push 0xa9f070
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x469961
mov dword [ebp - 0x14], ebx
jmp 0x469979
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0xfce2949f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x469966
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ecx + 0xc], ebx
sete al
imul eax, eax, 0xfff9
xor ecx, ecx
cmp eax, 0x20b2
setl cl
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], ebx
jmp 0x4699ca
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0xfd8c6581
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4699b7
lea ecx, [ebp - 0x13c]
call fcn.0043b7c8
cmp dword [ebp - 0x90], 0
je 0x469f5b
cmp dword [ebp - 0x94], 0
je 0x469f5b
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x14], 0xf068cd54
mov dword [ebp - 0x28], 0xa0b34938
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 0x49e1
cmp dword [ebp - 0x24], 0x4aad
jle 0x469a6e
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x340]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x469a40
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x340]
call fcn.0043bad2
inc esi
cmp esi, 0x257f
mov eax, dword [ebp - 0x14]
jl 0x469a24
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0xb7e
jl 0x469a22
or esi, 0xffffffff
mov dword [ebp - 0x18], 0x8ce6fc2e
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x24], 0x495c
jge 0x469a90
push 0xa9f0c4
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x469aba
push 4
lea ecx, [ebp - 0xb4]
call fcn.0043b6f6
mov dword [ebp - 0x30], 0x3f6a
mov dword [ebp - 0x14], ebx
jmp 0x469ae6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0x9fa553fc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x469ad3
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1c], edi
je 0x469b07
cmp dword [ebp - 0x28], ebx
mov eax, edi
jne 0x469b09
mov eax, ebx
mov edx, dword [ebp - 0xb4]
imul eax, eax, 6
add eax, 0x7304be55
xor ecx, ecx
cmp eax, 5
setg cl
sub ecx, dword [edx + 8]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [edx]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x1dfe
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
add eax, ecx
mov dword [edx + 8], eax
mov ecx, 0xe2caeaba
cmp ecx, eax
sbb ecx, ecx
neg ecx
add ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp eax, ecx
setl dl
cmp edx, 0x10b4
jg 0x469d22
mov dword [ebp - 0x24], 0x52ee
mov dword [ebp - 0x34], 0xe3a113d
mov dword [ebp - 0x2c], 0x262d
cmp dword [ebp - 0x2c], 0x269a
jle 0x469c51
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edx, ebx
mov dword [ebp - 0x30], edx
mov esi, ecx
mov ecx, eax
sar esi, cl
mov dword [ebp - 0x3c], esi
mov esi, ebx
mov eax, esi
and eax, edx
and eax, dword [ebp - 0x3c]
cdq
push edx
push eax
lea ecx, [ebp - 0x298]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x469bf8
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x298]
call fcn.0043bad2
inc esi
cmp esi, 0x75d2
mov edx, dword [ebp - 0x30]
jl 0x469bd9
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x1dff
jl 0x469bd7
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x1952
mov ecx, dword [ebp - 0x14]
jl 0x469bc9
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x6425
jl 0x469bc4
push ebx
push ebx
push 0x25ea
call dword [0xac0094]
or esi, 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x469cd1
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x469cce
mov dword [ebp - 0x30], 0xe49ba5cd
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x1c], ebx
jmp 0x469cc0
mov dword [ebp - 0x24], 0x4b879c93
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], ebx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], 0x2cdfd7f7
mov ecx, dword [ebp - 0x18]
inc ecx
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, ecx
setle dl
push 5
pop eax
sub eax, edx
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x469c78
dec dword [ebp - 0x18]
jns 0x469c65
xor edi, edi
inc edi
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff7
jl 0x469c56
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x2c], 0x256b
jge 0x469cf6
push 0xa9f144
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x469d2c
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], 0x5a5e
cmp dword [ebp - 0x34], 0x5b29
jle 0x469d8f
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, eax
mov dword [ebp - 0x2c], 0x22f2
mov eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x2c8]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x469d64
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2c8]
call fcn.0043bad2
dec esi
dec dword [ebp - 0x2c]
jne 0x469d4a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x7e6f
jl 0x469d41
or esi, 0xffffffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
push 0xfffffffffffffffc
pop edx
cmp edx, dword [eax + 8]
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x8d42f466
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x34], 0x5a09
jge 0x469dd8
push 0xa9f198
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x469e02
lea ecx, [ebp - 0xb4]
call fcn.0043b7c8
push edi
push 0x3ca8
push dword [ebp - 0x90]
push 0x4d28
push 0x1c9d
push edi
push 0x1eaa
push 0x6e4e
call fcn.00465bcb
push dword [ebp - 0x90]
call fcn.00435f74
add esp, 0x24
mov dword [ebp - 0x38], eax
push 2
lea ecx, [ebp - 0xc0]
call fcn.0043b6f6
mov dword [ebp - 0x14], 0x51c3
mov dword [ebp - 0x18], ebx
jmp 0x469e70
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0x862fd41e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x469e5d
mov dword [ebp - 0x18], ebx
jmp 0x469e8c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1e0], 0x7c203980
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x469e7b
inc dword [ebp - 0x14]
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xa
jne 0x469f42
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0x1c], 0xd461e3f
mov dword [ebp - 0x1c], ebx
jmp 0x469ec5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc0]
cmp dword [eax + ecx*4 + 4], ebx
jne 0x469eca
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x469eb3
cmp dword [esi + 4], ebx
jne 0x469f23
cmp dword [ebp - 0x1c], ebx
je 0x469f16
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0xc0]
sub edx, dword [eax]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0xc0]
cmp ecx, dword [eax]
je 0x469f16
cmp dword [ebp - 0x14], ebx
je 0x469f16
cmp dword [ebp - 0x1c], ebx
mov ecx, edi
jne 0x469f18
mov ecx, ebx
mov eax, 0xaf5bfb66
sub eax, ecx
mov edx, ebx
je 0x469f25
mov edx, edi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xa
je 0x469ea7
or esi, 0xffffffff
lea ecx, [ebp - 0xc0]
call fcn.0043b7c8
lea eax, [ebp - 0x50]
push eax
call fcn.0046acb8
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov dword [ebp - 0x34], 0x623e
cmp dword [ebp - 0x34], 0x65a9
jle 0x469fd2
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0x4db7
mov esi, ebx
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x2f8]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x469f98
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2f8]
call fcn.0043bad2
inc esi
cmp esi, 0x56d5
mov eax, dword [ebp - 0x30]
jl 0x469f7c
dec eax
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x2c]
jne 0x469f7a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x74bb
jl 0x469f70
or esi, 0xffffffff
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x34], 0x5f3f
jge 0x469fed
push 0xa9f1f8
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46a017
mov dword [ebp - 0x34], 0x73d7
cmp dword [ebp - 0x34], 0x75fd
jle 0x46a0af
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], ebx
cdq
idiv ecx
mov ecx, edx
mov dword [ebp - 0x2c], ecx
mov esi, ebx
mov eax, esi
or eax, dword [ebp - 0x30]
or eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x328]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46a061
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x328]
call fcn.0043bad2
inc esi
cmp esi, 0x12f6
mov ecx, dword [ebp - 0x2c]
jl 0x46a042
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x1020
jl 0x46a040
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xb9d
mov eax, dword [ebp - 0x28]
jl 0x46a035
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x7307
jl 0x46a030
or esi, 0xffffffff
push 3
lea ecx, [ebp - 0x10c]
call fcn.0043b6f6
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x34], 0x7389
jge 0x46a0d7
push 0xa9f260
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46a101
mov dword [ebp - 0x18], ebx
jmp 0x46a119
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0x540d7f82
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x46a106
mov dword [ebp - 0x18], ebx
jmp 0x46a12e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x46a124
mov eax, dword [ebp - 0x10c]
mov dword [eax], ebx
mov dword [ebp - 0x4c], ebx
cmp dword [ebp - 0x4c], 2
jg 0x46a353
mov dword [ebp - 0x34], 0x6216
cmp dword [ebp - 0x34], 0x6527
jle 0x46a1d3
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov ecx, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], 0x4e4d
mov esi, ebx
mov eax, ecx
and eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x358]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46a18a
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x358]
call fcn.0043bad2
inc esi
cmp esi, 0xa3f
mov ecx, dword [ebp - 0x30]
jl 0x46a16e
mov eax, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x2c]
jne 0x46a16c
dec eax
mov dword [ebp - 0x24], eax
cmp eax, 0xffffd11d
mov eax, dword [ebp - 0x28]
jg 0x46a160
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x2146
jl 0x46a15d
or esi, 0xffffffff
mov dword [ebp - 0x28], 0x8039d6b9
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x34], 0x604d
jge 0x46a1f5
push 0xa9f2c0
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46a21f
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10c]
mov dword [eax], 0xfffb
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp ecx, eax
setge dl
sub edx, 0xf1e5
xor eax, eax
cmp edx, edi
setl al
xor edx, edx
cmp eax, 0x4b5a
setg dl
mov eax, dword [ebp - 0x4c]
sub edx, eax
xor ecx, ecx
cmp edx, 0x758b39d2
setl cl
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setge cl
imul eax, ecx, 0xfffb
test eax, eax
je 0x46a28a
cmp dword [ebp - 0x28], ebx
mov eax, edi
jne 0x46a28c
mov eax, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0x3bb3
cmp dword [ebp - 0x2c], 0x3beb
jle 0x46a2e1
push 0xb17
push 0x1c90
push 0x13c3
call dword [0xac0490]
mov edi, ebx
mov esi, ebx
mov eax, esi
or eax, edi
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc esi
cmp esi, 0x4b4d
jl 0x46a2b8
inc edi
cmp edi, 0x3399
jl 0x46a2b6
xor edi, edi
inc edi
or esi, 0xffffffff
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46a302
push ebx
push 0x1d3b
push 0x1cc1
push 0x1f87
push ebx
push ebx
call dword [0xac0330]
mov dword [ebp - 4], 0x2c
cmp dword [ebp - 0x2c], 0x3b7a
jge 0x46a321
mov edx, 0xa9f30c
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x46a34b
inc dword [ebp - 0x4c]
jmp 0x46a13e
lea ecx, [ebp - 0x10c]
call fcn.0043b7c8
lea ecx, [ebp - 0x94]
call fcn.0045d05e
push 3
lea ecx, [ebp - 0x210]
call fcn.0043b6f6
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x30], 0x6aaa
cmp dword [ebp - 0x30], 0x6bac
jle 0x46a3e2
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, ebx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], 0x5927
mov ebx, ecx
mov esi, 0x540
mov eax, ebx
and eax, edi
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
dec ebx
dec esi
jne 0x46a3a1
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x2c]
add ecx, eax
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0x24]
jne 0x46a39a
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x1c11
push esi
pop ebx
jl 0x46a38e
inc edi
cmp edi, 0x7308
jl 0x46a38b
xor edi, edi
inc edi
or esi, 0xffffffff
mov dword [ebp - 0x3c], 0x245f1dbe
mov dword [ebp - 4], 0x2e
cmp dword [ebp - 0x30], 0x6a01
jge 0x46a408
mov edx, 0xa9f37c
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x46a432
push 0xfffffffffffffffc
pop eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x51cdcb36
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x3c], 0x9b389519
mov dword [ebp - 0x3c], 0x3f9beab1
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 0x7a9d2e81
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0xbbb
cmp dword [ebp - 0x14], 0xc55
jle 0x46a513
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x34], ebx
add eax, esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0x793c
mov esi, dword [ebp - 0x30]
xor eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x388]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46a4b8
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x388]
call fcn.0043bad2
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x24]
jne 0x46a49e
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x59f
mov esi, dword [ebp - 0x28]
jl 0x46a48f
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x2a12
jl 0x46a48a
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x16a7
jl 0x46a485
push 0xeaa
push ebx
push ebx
call dword [0xac02d8]
or esi, 0xffffffff
mov dword [ebp - 0x30], 0xe069
mov dword [ebp - 4], 0x30
cmp dword [ebp - 0x14], 0xa17
jge 0x46a535
push 0xa9f3b0
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46a55f
mov dword [ebp - 0x34], 0x49da
cmp dword [ebp - 0x34], 0x4ca7
jle 0x46a5fe
push 0xb17
push 0x1c90
push 0x13c3
call dword [0xac0490]
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x3c], ebx
mov edx, esi
mov ecx, eax
shl edx, cl
mov dword [ebp - 0x28], edx
mov esi, ebx
mov eax, edx
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x3b8]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46a5be
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x3b8]
call fcn.0043bad2
inc esi
cmp esi, 0x5000
mov edx, dword [ebp - 0x28]
jl 0x46a5a0
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x25d7
mov esi, dword [ebp - 0x24]
jl 0x46a592
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x1d0e
jl 0x46a58d
or esi, 0xffffffff
mov dword [ebp - 4], 0x32
cmp dword [ebp - 0x34], 0x4602
jge 0x46a619
push 0xa9f404
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46a643
mov dword [ebp - 0x18], ebx
jmp 0x46a657
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x210]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x46a648
mov dword [ebp - 0x18], ebx
jmp 0x46a673
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1f0], 0xa1a4d63a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x46a662
inc dword [ebp - 0x30]
lea ecx, [ebp - 0x210]
call fcn.0043b7c8
cmp dword [ebp - 0x40], 0
jne 0x46aa27
cmp dword [ebp - 0x38], 0
je 0x46aa27
movdqa xmm0, xmmword [0xaa9600]
movdqu xmmword [ebp - 0x240], xmm0
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x240]
push eax
push ebx
lea ecx, [ebp - 0x154]
call fcn.0043d458
mov dword [ebp - 0x2c], 0x3b0
cmp dword [ebp - 0x2c], 0x505
jle 0x46a717
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov eax, ebx
or eax, edi
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
inc ebx
cmp ebx, 0x330b
jl 0x46a6ee
inc edi
cmp edi, 0x3168
push 0
pop ebx
jl 0x46a6eb
xor edi, edi
inc edi
mov dword [ebp - 0x28], ebx
jmp 0x46a72a
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x78], 0xfffffff6
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x46a71c
mov dword [ebp - 4], 0x34
cmp dword [ebp - 0x2c], 0x382
jge 0x46a74f
mov edx, 0xa9f42c
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x46a779
mov dword [ebp - 0x30], 0x73c1
cmp dword [ebp - 0x30], 0x77a6
jle 0x46a812
mov esi, ebx
mov dword [ebp - 0x40], ebx
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], ebx
mov ecx, eax
xor ecx, esi
mov dword [ebp - 0x24], ecx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
add eax, esi
or eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x3e8]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46a7c4
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x3e8]
call fcn.0043bad2
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x744
mov ecx, dword [ebp - 0x24]
jl 0x46a7a8
inc esi
cmp esi, 0x588b
jl 0x46a7a3
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x5b85
mov esi, dword [ebp - 0x40]
jl 0x46a797
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 0x1e60
jl 0x46a792
or esi, 0xffffffff
mov dword [ebp - 0x74], ebx
jmp 0x46a854
mov dword [ebp - 0x14], 0xafd94fe5
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x46a851
mov dword [ebp - 0x28], ebx
jmp 0x46a840
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x230], 0x1bca9d69
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x46a82f
dec dword [ebp - 0x224]
dec dword [ebp - 0x14]
jns 0x46a82a
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 3
jle 0x46a817
mov dword [ebp - 4], 0x36
cmp dword [ebp - 0x30], 0x7223
jge 0x46a875
push 0xa9f460
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46a89f
lea ecx, [ebp - 0x154]
call fcn.0043b7c8
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
call fcn.00467924
mov dword [ebp - 0xd8], eax
push 3
lea ecx, [ebp - 0x148]
call fcn.0043b6f6
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x38], ebx
jmp 0x46a8e3
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x10c93b4e
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x46a8d0
mov dword [ebp - 0x14], ebx
jmp 0x46a90d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x148]
cmp dword [eax + ecx*4], ebx
jne 0x46a913
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x148]
cmp dword [eax + ecx*4], ebx
jne 0x46a913
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x46a8ee
lea ecx, [ebp - 0x148]
call fcn.0043b7c8
mov dword [ebp - 0x30], 0x123c
cmp dword [ebp - 0x30], 0x13b5
jle 0x46a9d3
mov dword [ebp - 0x40], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x3c], edx
mov ecx, ebx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x2c], 0xa14
mov esi, dword [ebp - 0x40]
mov eax, esi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x2b0]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46a972
mov eax, dword [eax]
push eax
call fcn.004d1e97
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2b0]
call fcn.0043bad2
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x2c]
jne 0x46a956
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x614b
mov esi, dword [ebp - 0x34]
jl 0x46a93f
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x590
jl 0x46a93a
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x14de
jl 0x46a935
push ebx
push 0x18b3
call dword [0xac0080]
or esi, 0xffffffff
lea eax, [ebp - 0x7c]
push eax
call fcn.0046ac56
mov ecx, dword [ebp - 0xd8]
mov dword [eax], ecx
mov dword [ebp - 4], 0x38
cmp dword [ebp - 0x30], 0x1128
jge 0x46a9ff
push 0xa9f4d0
call fcn.004d1e97
pop ecx
mov dword [ebp - 4], esi
jmp 0x46aa27
push edi
lea ecx, [ebp - 0x5c]
call fcn.0043b6f6
mov dword [ebp - 0x44], 0x1e707165
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x44], 0xfffffff9
mov dword [ebp - 0x18], ebx
jmp 0x46aa54
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x70], 0x93b4e1a3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x46aa46
mov dword [ebp - 0x18], ebx
jmp 0x46aa6b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x46aa5f
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46aaac
push 0x1a1d
push 0x1f55
push 0x811
push 0x1e1e
push 0x13d9
push 0x12da
push 0x526
push 0x22e6
push 0xf43
call dword [0xac0068]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ebx
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x3c], 0x3a34071e
mov dword [ebp - 0x38], ebx
jmp 0x46aad5
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1d8], 8
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x46aac4
mov dword [ebp - 0x1d4], ebx
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov edx, dword [ebp + eax*4 - 0x70]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x5c]
add ecx, dword [eax]
xor eax, eax
cmp edx, ecx
setg al
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x2c]
cmp edi, eax
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x70]
sub edx, eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [ebp + eax*4 - 0x70]
imul ecx, edx
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x70]
imul eax, ecx
mov ecx, 0x8e10a3bd
cmp ecx, eax
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x5c]
mov esi, dword [eax]
mov eax, dword [ebp + esi*4 - 0x70]
xor ecx, ecx
cmp edx, eax
setge cl
mov edx, esi
sub edx, ecx
mov eax, dword [ebp + esi*4 - 0x70]
add eax, edx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x5c]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x5c]
inc dword [eax]
cmp dword [eax], 2
jle 0x46aab1
lea ecx, [ebp - 0x5c]
call fcn.0043b7c8
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0xd8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret