Function at 0x46c069
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4da10d
call fcn.004d9668
sub esp, 0x304
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x30], 0x462d5e48
mov dword [ebp - 0x2c], 0x47c9d5fa
xor ebx, ebx
mov dword [ebp - 0x30], ebx
xor edi, edi
inc edi
cmp dword [ebp - 0x30], 0xffffffe9
jge 0x46c1fa
mov dword [ebp - 0x38], 0x6080
cmp dword [ebp - 0x38], 0x6238
jle 0x46c147
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0xadf0f8]
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], ebx
add eax, esi
sar eax, cl
mov dword [ebp - 0x44], eax
mov esi, ebx
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00401993
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46c0fb
mov eax, dword [eax]
push eax
call fcn.004c4197
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2b8]
call fcn.0045d043
inc esi
cmp esi, 0xebd
mov eax, dword [ebp - 0x44]
jl 0x46c0df
mov ecx, dword [ebp - 0x3c]
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x3faa
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
jl 0x46c0d3
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x2e8e
jl 0x46c0ce
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x322c
jl 0x46c0c9
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x38], 0x5d18
jge 0x46c15e
push 0xacc760
call fcn.004c4197
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x46c187
mov dword [ebp - 0x18], ebx
jmp 0x46c19a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x60], 6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x46c18c
mov dword [ebp - 0x18], ebx
jmp 0x46c1ae
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x54], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x46c1a4
mov dword [ebp - 0x54], ebx
jmp 0x46c1ed
mov eax, dword [ebp - 0x54]
cmp dword [ebp + eax*4 - 0x60], ebx
jne 0x46c1f2
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp + eax*4 - 0x60]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, edi
setg al
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], ebx
jle 0x46c1b8
dec dword [ebp - 0x30]
jmp 0x46c09b
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46c211
push ebx
push ebx
push ebx
push 0x307
call dword [fcn.00adf050]
mov eax, dword [0xadd760]
test al, 1
jne 0x46c295
or eax, edi
mov dword [0xadd760], eax
mov dword [0xadd740], ebx
mov dword [0xadd744], ebx
push ebx
push ebx
call fcn.0046eb91
mov dword [0xadd740], eax
mov dword [0xadd748], ebx
mov dword [0xadd750], ebx
mov dword [0xadd75c], 0x3f800000
mov dword [ebp - 0x120], eax
mov dword [0xadd74c], ebx
lea eax, [ebp - 0x120]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x21c]
push eax
mov ecx, 0xadd748
call fcn.0046e936
mov dword [0xadd754], 7
mov dword [0xadd758], 8
push 0x4da8ee
call fcn.004c416d
pop ecx
mov eax, 0x7e55059b
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x40], 0xb6b0e1b1
mov dword [ebp - 0x18], ebx
push 2
pop esi
jmp 0x46c2d9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x100], 0xbe8f2100
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x46c2c8
mov dword [ebp - 0x18], ebx
jmp 0x46c2f4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c4], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x46c2e3
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x168]
add ecx, eax
mov eax, dword [ebp - 0x1bc]
inc dword [ebp - 0x1bc]
cmp eax, ecx
mov eax, edi
cmove eax, ebx
mov ecx, dword [ebp - 0x168]
imul ecx, eax
mov eax, dword [ebp - 0x164]
sub ecx, eax
mov eax, dword [ebp - 0x100]
add eax, ecx
cmp eax, 0xfff9
sbb eax, eax
inc eax
mov dword [ebp - 0x100], eax
imul eax, dword [ebp - 0x58], 0x2710
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x24], 0xb58e
push esi
lea ecx, [ebp - 0x84]
call fcn.0045cc67
mov dword [ebp - 0x34], 0xb56cef3
mov dword [ebp - 0x3c], 0x1576660b
mov dword [ebp - 0x14], 0x2570
mov dword [ebp - 0x2c], 0xa0c844fc
mov dword [ebp - 0x30], ebx
jmp 0x46c39e
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x46c38f
dec dword [ebp - 0x24]
jne 0x46c44a
cmp dword [ebp - 0x24], ebx
jne 0x46c3fa
mov edx, 0x811fc80
mov eax, dword [ebp - 0x84]
sub edx, dword [eax]
mov eax, dword [ebp - 0x24]
sub edx, eax
mov eax, dword [ebp - 0x84]
imul edx, dword [eax + 4]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 0x84]
cmp dword [edx], eax
setle cl
cmp ecx, 0x31e7bf5c
jg 0x46c400
mov dword [ebp - 0x3c], ebx
jmp 0x46c403
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x3c], edi
mov ecx, dword [edx]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x3c]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
je 0x46c41e
cmp dword [ebp - 0x24], ebx
mov edx, ebx
je 0x46c420
mov edx, edi
xor ecx, ecx
mov eax, dword [ebp - 0x84]
cmp dword [eax], edx
sete cl
sub ecx, 0xa0becc33
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x84]
cmp dword [eax], edi
mov ecx, ebx
jge 0x46c44c
mov ecx, edi
add ecx, 5
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setl dl
xor ecx, ecx
cmp edx, 0x220985a9
setg cl
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x84]
call fcn.0045cd39
lea eax, [ebp - 0x88]
push eax
call fcn.0046e5c3
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], 0x158018d9
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x28], 0x8af8716b
mov dword [ebp - 0x1c], 0x7d228d5f
mov dword [ebp - 0x18], 0x2b058efa
push esi
lea ecx, [ebp - 0xbc]
call fcn.0045cc67
mov dword [ebp - 0x38], 0x2812
cmp dword [ebp - 0x38], 0x2b58
jle 0x46c538
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov esi, ebx
mov dword [ebp - 0x44], ebx
add eax, edi
mov dword [ebp - 0x2c], eax
mov ecx, esi
mov edi, eax
sar edi, cl
mov eax, edi
mov ecx, ebx
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xadc578
call fcn.0045cb52
inc ebx
cmp ebx, 0x65a3
jl 0x46c4ed
inc esi
cmp esi, 0x6802
push 0
pop ebx
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
jl 0x46c4df
inc edi
mov dword [ebp - 0x3c], edi
cmp edi, 0x6dcf
jl 0x46c4dd
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x66fd
jl 0x46c4d8
xor edi, edi
inc edi
push 2
pop esi
mov dword [ebp - 4], esi
cmp dword [ebp - 0x38], 0x2658
jge 0x46c553
mov edx, 0xacc788
mov ecx, 0xadc578
call fcn.0045e4f8
or dword [ebp - 4], 0xffffffff
jmp 0x46c57f
mov eax, 0x162d50c8
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
movdqa xmm0, xmmword [0xad0bb0]
movdqu xmmword [ebp - 0x254], xmm0
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x254]
push eax
push ebx
lea ecx, [ebp - 0xd4]
call fcn.0045e9c9
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x46c5f6
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x46c5e7
mov dword [ebp - 0x18], ebx
jmp 0x46c611
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xec], 0xaa237f4a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x46c600
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jne 0x46c650
mov eax, dword [ebp - 0xbc]
cmp dword [eax], ebx
je 0x46c62b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x154]
dec dword [ebp - 0x154]
mov dword [ebp - 0xec], ebx
cmp dword [ecx + 8], ebx
mov ecx, edi
je 0x46c652
mov ecx, ebx
mov edx, dword [ebp - 0xd4]
xor eax, eax
test ecx, ecx
sete al
xor ecx, ecx
cmp eax, 0x215f8f50
setle cl
xor eax, eax
cmp ecx, dword [edx + 8]
setg al
imul eax, eax, 0x6e30
mov esi, dword [ebp - 0xbc]
test eax, eax
je 0x46c687
cmp dword [esi], ebx
mov eax, edi
jne 0x46c689
mov eax, ebx
cmp eax, 0x87642760
sbb eax, eax
inc eax
xor ecx, ecx
cmp eax, dword [edx + 8]
setg cl
imul ecx, dword [esi + 4]
add ecx, dword [edx + 0xc]
mov esi, dword [esi]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
lea eax, [ecx + 3]
add eax, esi
xor ecx, ecx
cmp eax, esi
setne cl
add ecx, dword [ebp - 0x28]
jne 0x46c701
mov eax, dword [ebp - 0xbc]
cmp dword [eax], ebx
jne 0x46c701
mov esi, 0xffff
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], 0xffffffe2
jmp 0x46c6f6
mov dword [ebp - 0x2c], 0x9616
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 0xd6c1c926
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x12
jl 0x46c6e2
jmp 0x46c880
mov dword [ebp - 0x24], 0xfffffff8
cmp dword [ebp - 0x24], 0xfffffff5
je 0x46c880
mov esi, 0xffff
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x14], ebx
jmp 0x46c869
mov dword [ebp - 0x38], 0xfb9d
mov dword [ebp - 0x18], 0xfffffffe
jmp 0x46c85c
mov dword [ebp - 0x30], 0x62da
mov dword [ebp - 0x2c], 0xfff8
mov dword [ebp - 0x30], 0xb7a7919e
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46c760
push ebx
push edi
push ebx
call dword [fcn.00adf204]
mov dword [ebp - 0x28], ebx
jmp 0x46c84f
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x46c84c
mov dword [ebp - 0x30], ebx
jmp 0x46c78d
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x244], 0x21526695
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x46c77c
mov dword [ebp - 0x30], 0x12ea
cmp dword [ebp - 0x30], ebx
je 0x46c800
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x15c]
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
xor ecx, ecx
cmp eax, edx
setle cl
imul eax, ecx, 5
xor ecx, ecx
test eax, eax
setns cl
mov dword [ebp - 0x244], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
setge dl
cmp edx, esi
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
test eax, eax
setg cl
sub edx, ecx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setle cl
test ecx, ecx
je 0x46c82e
cmp dword [ebp - 0x44], ebx
mov edx, ebx
je 0x46c830
mov edx, edi
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x1c]
jns 0x46c777
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x46c768
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x17
je 0x46c739
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jne 0x46c726
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff5
jne 0x46c717
lea ecx, [ebp - 0xd4]
call fcn.0045cd39
lea ecx, [ebp - 0xbc]
call fcn.0045cd39
mov esi, dword [ebp - 0x34]
test esi, esi
je 0x46cc71
movdqa xmm0, xmmword [0xad0bf0]
movdqu xmmword [ebp - 0x284], xmm0
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
mov dword [ebp - 0x140], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x284]
push eax
push ebx
lea ecx, [ebp - 0x148]
call fcn.0045e9c9
mov dword [ebp - 0x30], 9
push 3
lea ecx, [ebp - 0x23c]
call fcn.0045cc67
mov dword [ebp - 0x14], ebx
jmp 0x46c90c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x23c]
mov dword [eax + ecx*4], 0x2961c0f8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x46c8f9
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46c922
push ebx
call dword [0xadf230]
mov dword [ebp - 0x30], ebx
push 4
pop eax
cmp dword [ebp - 0x30], 3
jg 0x46ca71
mov dword [ebp - 0x40], 0xec4279c4
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x40], 0x51cfd1f2
mov dword [ebp - 0x40], 0xec01e6e2
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x24], 0x76df7e44
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov dword [ebp - 0x18], 0x4480
cmp dword [ebp - 0x18], 0x4818
jle 0x46ca1a
mov dword [ebp - 0x14], ebx
mov eax, ebx
mov dword [ebp - 0x3c], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
add eax, esi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x38], 0x4d4f
mov esi, dword [ebp - 0x14]
and eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x2d0]
call fcn.00401993
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46c9cc
mov eax, dword [eax]
push eax
call fcn.004c4197
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2d0]
call fcn.0045d043
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x38]
jne 0x46c9b2
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x42d1
mov eax, dword [ebp - 0x3c]
jl 0x46c9a3
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x1814
jl 0x46c99e
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x5122
jl 0x46c999
mov esi, dword [ebp - 0x34]
inc dword [ebp - 0x24]
push 4
pop eax
mov dword [ebp - 4], eax
cmp dword [ebp - 0x18], 0x41b8
jge 0x46ca3a
push 0xacc810
call fcn.004c4197
pop ecx
push 4
pop eax
or dword [ebp - 4], 0xffffffff
jmp 0x46ca69
inc dword [ebp - 0x30]
jmp 0x46c928
lea ecx, [ebp - 0x23c]
call fcn.0045cd39
lea ecx, [ebp - 0x148]
call fcn.0045cd39
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x44], 0x8a2db637
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x46cab8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x46caae
push 2
pop esi
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x46cbe0
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x48], 0x1188
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x46cb04
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46caff
push ebx
push 0x156f
call dword [fcn.00adf090]
dec dword [ebp - 0x24]
jns 0x46caea
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x6c], ecx
jle 0x46cb4c
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46cbd2
push ebx
push 0x88e
push ebx
push 0x10b3
call dword [fcn.00adf06c]
jmp 0x46cbd2
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x46cbd2
mov dword [ebp - 0x14], ebx
jmp 0x46cb74
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x224], 0x466
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x46cb63
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x220]
sub esi, eax
neg esi
sbb esi, esi
inc esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 3
setge cl
xor edx, edx
cmp ecx, esi
setge dl
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x6c]
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0xfffc
sbb edx, edx
add edx, 2
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x24]
push 2
pop esi
jns 0x46cb5e
dec dword [ebp - 0x18]
jns 0x46cacd
cmp dword [ebp - 0x18], ebx
je 0x46cbef
mov dword [ebp - 0x18], 0xd62b
cmp dword [ebp - 0x18], ebx
je 0x46cbef
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
xor ecx, ecx
cmp eax, edi
setle cl
xor edx, edx
cmp ecx, 0xa10f
setne dl
mov ecx, dword [ebp - 0x30]
add ecx, 2
add ecx, edx
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp eax, ecx
setge dl
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x564dbb9a
setg al
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
sub edx, 8
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
xor edx, edx
cmp ecx, 0xfffffff7
setl dl
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x30], ecx
jmp 0x46e5a4
mov dword [ebp - 0x14], 0xc345fe46
mov dword [ebp - 0x2c], 0xcc895931
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x44], 0x7f4ea14c
mov dword [ebp - 0x34], 0xf40e13f5
push 4
lea ecx, [ebp - 0x184]
call fcn.0045cc67
push edi
lea ecx, [ebp - 0x200]
call fcn.0045cc67
mov dword [ebp - 0x44], 0x734826aa
mov dword [ebp - 0x1c], ebx
jmp 0x46ccc3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5c], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x46ccb5
mov dword [ebp - 0x1c], ebx
jmp 0x46cce0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 0xbd79
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x46cccd
mov dword [ebp - 0x1c], ebx
jmp 0x46ccfe
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x200]
mov dword [eax + ecx*4], 0x437e103
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x46cceb
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x14]
dec eax
xor ecx, ecx
cmp eax, dword [edx + 8]
setne cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
xor ecx, ecx
cmp eax, 0x20c2
setl cl
xor eax, eax
cmp ecx, dword [edx + 8]
setge al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
mov ecx, 0x42cc3231
sub ecx, eax
mov dword [ebp - 0x5c], ecx
xor edx, edx
cmp ecx, 0xffffffff
sete dl
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x184]
add ecx, dword [eax]
jne 0x46cd82
mov eax, dword [ebp - 0x200]
cmp dword [eax], ebx
mov eax, ebx
je 0x46cd84
mov eax, edi
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x200]
call fcn.0045cd39
lea ecx, [ebp - 0x184]
call fcn.0045cd39
mov eax, dword [0xadd760]
test al, 2
jne 0x46ce22
or eax, 2
mov dword [0xadd760], eax
mov dword [0xadd770], ebx
mov dword [0xadd774], ebx
push ebx
push ebx
call fcn.0046eb91
mov dword [0xadd770], eax
mov dword [0xadd778], ebx
mov dword [0xadd780], ebx
mov dword [0xadd78c], 0x3f800000
mov dword [ebp - 0x110], eax
mov dword [0xadd77c], ebx
lea eax, [ebp - 0x110]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x228]
push eax
mov ecx, 0xadd778
call fcn.0046e936
mov dword [0xadd784], 7
mov dword [0xadd788], 8
push 0x4da8e9
call fcn.004c416d
pop ecx
push 2
lea ecx, [ebp - 0xb0]
call fcn.0045cc67
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x44], 0xc116e074
mov dword [ebp - 0x34], 0x43e6
cmp dword [ebp - 0x34], 0x467e
jle 0x46ce93
mov dword [ebp - 0x3c], ebx
mov edi, ebx
mov dword [ebp - 0x44], 0x1542
mov esi, ebx
mov eax, edi
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xadc578
call fcn.0045cb52
inc esi
cmp esi, 0x612a
jl 0x46ce5e
mov esi, dword [ebp - 0x3c]
add edi, esi
dec dword [ebp - 0x44]
jne 0x46ce5c
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0xf32
jl 0x46ce53
xor edi, edi
inc edi
mov dword [ebp - 0x14], ebx
jmp 0x46ceab
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0x6482
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x46ce98
mov dword [ebp - 4], 6
cmp dword [ebp - 0x34], 0x4279
jge 0x46ced0
mov edx, 0xacc88c
mov ecx, 0xadc578
call fcn.0045e4f8
or dword [ebp - 4], 0xffffffff
jmp 0x46cef9
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x46d00e
mov dword [ebp - 0x18], 0xf37d45db
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x46cfa7
mov ebx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0xb0]
mov edx, dword [esi + eax*4]
imul edx, dword [esi + ecx*4]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, 0x4e4902bd
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x18]
add eax, dword [esi + edi*4]
xor ecx, ecx
cmp eax, edx
setge cl
xor edx, edx
mov eax, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x2c]
cmp dword [eax + esi*4], ecx
sete dl
mov eax, dword [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp dword [ebp - 0x2c], eax
setg dl
imul edx, dword [ebx + 4]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x18]
jns 0x46cf25
xor ebx, ebx
xor edi, edi
inc edi
mov dword [ebp - 0x18], ebx
jmp 0x46d000
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], ebx
jl 0x46cffd
mov dword [ebp - 0x30], ebx
jmp 0x46cfe1
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46cfcb
push ebx
push ebx
push ebx
call dword [fcn.00adf2f0]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46cfde
push ebx
push ebx
push ebx
push ebx
call dword [fcn.00adf2e4]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jle 0x46cfb9
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebp - 0x24]
jns 0x46cfb4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x46cfac
dec dword [ebp - 0x1c]
jns 0x46cf05
cmp dword [ebp - 0x24], 0xf7cd3e5c
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x1c]
jge 0x46d02b
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 4], ebx
mov eax, edi
jne 0x46d02d
mov eax, ebx
cmp eax, dword [ebp - 0x24]
jge 0x46d035
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], 0x4d4e2095
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edi
setl cl
mov eax, dword [ebp - 0x24]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0xb0]
call fcn.0045cd39
xorps xmm0, xmm0
movdqu xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0x28], 0x97f6af11
mov dword [ebp - 0x28], ebx
push 3
pop esi
jmp 0x46d0e9
push esi
lea ecx, [ebp - 0xf8]
call fcn.0045cc67
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x46d0ac
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 0xa75c19c5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x46d099
mov dword [ebp - 0x30], ebx
jmp 0x46d0ca
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + eax*4], ebx
jne 0x46d0d6
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jle 0x46d0b6
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 8], ebx
lea ecx, [ebp - 0xf8]
jne 0x46d0f1
call fcn.0045cd39
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffea
jge 0x46d081
jmp 0x46d0f6
call fcn.0045cd39
lea eax, [ebp - 0x58]
push eax
call fcn.0046e625
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0x77ab3921
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x14], ebx
jmp 0x46d124
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2a0], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x46d113
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46d148
push 0x337
push ebx
push 0x1e9c
push 0x15a5
call dword [fcn.00adf3d0]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
je 0x46d158
cmp dword [ebp - 0x34], ebx
jne 0x46d162
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
mov eax, ebx
je 0x46d164
mov eax, edi
xor ecx, ecx
cmp eax, 0x3d0b
setne cl
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x32d7af2c
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
add eax, 0xfff9
xor ecx, ecx
cmp eax, 2
setne cl
mov dword [ebp - 0x29c], ecx
mov al, byte [ebp + 0xc]
test al, al
jne 0x46d1b8
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x46d648
lea ecx, [ebp - 0x310]
push ecx
mov dl, al
mov ecx, dword [ebp - 0x58]
call fcn.0045ec15
pop ecx
mov esi, eax
lea edi, [ebp - 0xe4]
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 - 0x18], 2
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x78]
call fcn.0045cc67
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], ebx
jmp 0x46d208
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 0x7a7c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x46d1f8
mov dword [ebp - 0x18], ebx
jmp 0x46d445
mov dword [ebp - 0x1c], 0xade2167f
mov dword [ebp - 0x40], 0xfc71010f
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x14], ebx
jmp 0x46d23c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], 0xb66febfb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x46d22e
mov dword [ebp - 0x1c], ebx
jmp 0x46d383
mov dword [ebp - 0x24], 0x6a3367f5
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x44], 0x64a3a207
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
jmp 0x46d374
mov dword [ebp - 0x44], 0x77e2192f
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x78]
cmp dword [eax], 4
setne dl
mov eax, dword [ebp - 0x18]
sub edx, eax
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x1c]
add ecx, edx
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, dword [ebp - 0x50]
setge dl
add edx, 3
sub edx, ecx
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp eax, dword [ecx + esi*4]
setg dl
neg edx
je 0x46d2e8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x78]
cmp dword [eax + ecx*4], ebx
mov eax, edi
jne 0x46d2ea
mov eax, ebx
cmp eax, 0xfffe
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + edx*4]
push 0
pop eax
setg al
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x46d322
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x78]
cmp dword [eax + ecx*4], ebx
jne 0x46d322
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x28], eax
jne 0x46d341
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x78]
cmp dword [eax + ecx*4], ebx
mov eax, edi
jne 0x46d343
mov eax, ebx
cmp eax, dword [ebp - 0x38]
jl 0x46d34f
cmp dword [ebp - 0x44], ebx
mov eax, ebx
je 0x46d351
mov eax, edi
cmp eax, dword [ebp - 0x44]
jge 0x46d362
cmp dword [ebp - 0x24], ebx
je 0x46d362
cmp dword [ebp - 0x50], ebx
mov edx, edi
jne 0x46d364
mov edx, ebx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x46d277
dec dword [ebp - 0x14]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x46d249
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x2c], ebx
je 0x46d400
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x18]
jl 0x46d3a4
cmp dword [ebp - 0x1c], ebx
jne 0x46d3a6
mov eax, ebx
cmp eax, dword [ebp - 0x38]
jle 0x46d3b2
cmp dword [ebp - 0x34], ebx
mov edx, edi
jne 0x46d3b4
mov edx, ebx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x50], ecx
lea eax, [ecx + 0x640d]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jne 0x46d3d6
cmp dword [ebp - 0x34], ebx
mov edx, ebx
je 0x46d3d8
mov edx, edi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, 0x4dc4
mov ecx, edi
jle 0x46d402
mov ecx, ebx
mov eax, dword [ebp - 0x18]
imul eax, ecx
sub eax, dword [ebp - 0x1c]
sub eax, 0xd441147c
neg eax
sbb eax, eax
add eax, 0xf402e83a
je 0x46d43f
mov dword [ebp - 0x14], ebx
jmp 0x46d431
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x20c], 0xfc42
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x46d420
inc dword [ebp - 0x20c]
jmp 0x46d442
mov dword [ebp - 0x28], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xd
jg 0x46d215
lea ecx, [ebp - 0x78]
call fcn.0045cd39
cmp byte [ebp + 0xc], 0
je 0x46d645
cmp dword [ebp - 0xdc], 0
je 0x46d645
mov dword [ebp - 0x38], 0xebb6748f
mov dword [ebp - 0x28], 0x52eaa29c
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x18], 0x56ec7e43
mov dword [ebp - 0x4c], 0xb65cab43
mov dword [ebp - 0x40], 7
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jne 0x46d4ed
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp eax, 0x9b2e
setge dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, 0xfd06
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp eax, 0xfc5
setl dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x18]
mov edx, ebx
je 0x46d4ef
mov edx, edi
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
je 0x46d57e
mov dword [ebp - 0x3c], 0x901516ea
mov dword [ebp - 0x40], 0x82b357f0
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], 0x4b72b416
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x3c], ebx
jne 0x46d546
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
mov ecx, ebx
je 0x46d548
mov ecx, edi
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
je 0x46d55d
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x4c], eax
mov eax, edi
je 0x46d55f
mov eax, ebx
cmp ecx, eax
jl 0x46d56a
cmp dword [ebp - 0x34], ebx
mov edx, edi
jne 0x46d56c
mov edx, ebx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
push 3
pop esi
jmp 0x46d5d3
push 4
lea ecx, [ebp - 0x1ac]
call fcn.0045cc67
mov dword [ebp - 0x14], ebx
jmp 0x46d5a0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1ac]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x46d590
push 3
pop esi
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x46d5c8
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebp - 0x24]
jns 0x46d5b1
lea ecx, [ebp - 0x1ac]
call fcn.0045cd39
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
add eax, 2
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x172c2e8b
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x40], 0xfff6
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46d618
push 0x174b
push 0x236e
push ebx
call dword [0xadf42c]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46d637
push ebx
push 0x171
push 0xd7d
push 0x2491
call dword [0xadf02c]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x8c], eax
jmp 0x46d648
push 3
pop esi
mov dword [ebp - 0x1c], 0x1651328f
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x24], 9
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jne 0x46d67d
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
sub ecx, eax
cmp ecx, dword [ebp - 0x1c]
jle 0x46d679
cmp dword [ebp - 0x1c], ebx
jne 0x46d67d
mov edx, ebx
jmp 0x46d67f
mov edx, edi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jne 0x46d69e
cmp dword [ebp - 0x1c], ebx
mov ecx, ebx
je 0x46d6a0
mov ecx, edi
mov eax, dword [ebp - 0x1c]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, 0x217c7128
setg dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, 0x35211521
setg dl
mov eax, esi
sub eax, edx
push 0
pop edx
setns dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ebx
jmp 0x46d71c
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x4c], 0xa50887c5
mov dword [ebp - 0x28], ebx
jmp 0x46d713
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xc
jle 0x46d70a
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe2
jne 0x46d6f7
cmp dword [ebp - 0x30], 0
jne 0x46ddf6
cmp dword [ebp - 0xe4], 0
jle 0x46ddf6
mov dword [ebp - 0x28], 0x58e469ad
movdqa xmm0, xmmword [0xad0bf0]
movdqu xmmword [ebp - 0x274], xmm0
mov dword [ebp - 0x190], ebx
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 0x188], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x274]
push eax
push ebx
lea ecx, [ebp - 0x190]
call fcn.0045e9c9
mov dword [ebp - 0x2c], 0xe9bf9f36
mov dword [ebp - 0x14], ebx
jmp 0x46d79c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14c], 0xfff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x46d78b
mov dword [ebp - 0x28], ebx
jmp 0x46d7b3
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x14c], edi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x46d7a6
dec dword [ebp - 0x2c]
lea ecx, [ebp - 0x190]
call fcn.0045cd39
mov dword [ebp - 0x24], 0x97f6af11
mov dword [ebp - 0x24], ebx
jmp 0x46d83a
push esi
lea ecx, [ebp - 0x10c]
call fcn.0045cc67
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x46d7fd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0xa75c19c5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x46d7ea
mov dword [ebp - 0x28], ebx
jmp 0x46d81b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10c]
cmp dword [ecx + eax*4], ebx
jne 0x46d827
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x46d807
mov ecx, dword [ebp - 0x10c]
cmp dword [ecx + 8], ebx
lea ecx, [ebp - 0x10c]
jne 0x46d842
call fcn.0045cd39
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffea
jge 0x46d7d2
jmp 0x46d847
call fcn.0045cd39
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x46d860
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11c], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x46d853
mov dword [ebp - 0x1c], ebx
jmp 0x46d87b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11c], 0xf4f46db5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x46d86a
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
je 0x46d968
push 4
lea ecx, [ebp - 0x1f4]
call fcn.0045cc67
mov dword [ebp - 0x2c], 0x4e76ab2a
mov dword [ebp - 0x2c], 0x7941ce3c
mov dword [ebp - 0x2c], 0x7c8b166c
mov dword [ebp - 0x14], ebx
jmp 0x46d8c8
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1f4]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x46d8b9
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46d8de
push ebx
call dword [0xadf20c]
mov eax, dword [ebp - 0x114]
mov edi, dword [ebp - 0x1f4]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x1c]
add edx, dword [edi + 0xc]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, esi
setle al
xor ecx, ecx
cmp esi, eax
sete cl
mov edx, dword [ebp - 0x2c]
sub edx, ecx
neg edx
sbb edx, edx
inc edx
xor eax, eax
cmp edx, dword [edi + 0xc]
setne al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [edi + 0xc]
jl 0x46d940
cmp dword [ebp - 0x1c], ebx
je 0x46d940
mov eax, ebx
xor edi, edi
inc edi
jmp 0x46d945
xor edi, edi
inc edi
mov eax, edi
mov ecx, 0xffff
sub ecx, eax
add ecx, dword [ebp - 0x118]
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x1f4]
call fcn.0045cd39
push 3
pop esi
jmp 0x46da9e
mov dword [ebp - 0x2c], 0xacdd1f66
mov dword [ebp - 0x40], 0x828e972c
mov dword [ebp - 0x1c], 0x10
jmp 0x46da94
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x2c], 0x540778d4
mov dword [ebp - 0x24], 6
jmp 0x46da87
mov dword [ebp - 0x28], 0x38eb16e2
mov dword [ebp - 0x28], 0xffffffff
jmp 0x46da7a
mov dword [ebp - 0x38], 0xba5b0420
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x38], 2
cmp dword [ebp - 0x38], ebx
jl 0x46da77
push esi
lea ecx, [ebp - 0x12c]
call fcn.0045cc67
mov dword [ebp - 0x2c], 0x38d679bd
mov dword [ebp - 0x14], ebx
jmp 0x46d9f4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0xfa5d8720
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x46d9e1
mov eax, dword [ebp - 0x12c]
mov dword [eax], ebx
mov dword [ebp - 0x2c], 0xfffffffa
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x38]
lea ecx, [eax*4 + 1]
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x11c]
xor edx, edx
cmp eax, ecx
setg dl
mov eax, dword [ebp - 0x24]
sub edx, eax
cmp edx, 8
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x12c]
inc dword [eax]
cmp dword [eax], 2
jle 0x46da01
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x11
jle 0x46d9ab
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
jl 0x46d998
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x15
jle 0x46d982
push 4
lea ecx, [ebp - 0xc8]
call fcn.0045cc67
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x14], ebx
jmp 0x46dac3
mov dword [ebp - 0x1c], 0x9f84
push esi
lea ecx, [ebp - 0x1d0]
call fcn.0045cc67
mov dword [ebp - 0x40], 0x6084edc0
mov dword [ebp - 0x14], ebx
jmp 0x46de28
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1d0]
mov dword [eax + ecx*4], 0x7b4bc662
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x46de15
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
dec eax
je 0x46de3f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jge 0x46de4e
cmp dword [ebp - 0x1c], ebx
mov ecx, edi
jne 0x46de50
mov ecx, ebx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1d0]
mov dword [eax + 4], esi
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, ecx
add edx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
push 5
pop eax
cmp eax, ecx
sbb eax, eax
neg eax
sub eax, 3
neg eax
sbb eax, eax
inc eax
xor edx, edx
cmp eax, 0xe7ad
setg dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp esi, eax
setl cl
xor eax, eax
cmp ecx, edx
setle al
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xf7d9
mov dword [ebp - 0x40], eax
push 3
lea ecx, [ebp - 0x1b8]
call fcn.0045cc67
mov dword [ebp - 0x14], ebx
jmp 0x46ded2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1b8]
mov dword [eax + ecx*4], 0x2522abf7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x46debf
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46deec
push 0x610
call dword [fcn.00adf38c]
mov eax, dword [ebp - 0x1b8]
dec dword [eax]
lea ecx, [ebp - 0x1b8]
call fcn.0045cd39
lea ecx, [ebp - 0x1d0]
call fcn.0045cd39
lea ecx, [ebp - 0xe4]
call fcn.0046b7c6
mov dword [ebp - 0x1c], 0x8c176b0f
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], 0xe1b4
push 2
lea ecx, [ebp - 0x1e8]
call fcn.0045cc67
mov dword [ebp - 0x40], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x46df52
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1e8]
mov dword [eax + ecx*4], 0x66485393
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x46df3f
cmp dword [ebp - 0x1c], ebx
je 0x46e018
mov dword [ebp - 0x18], 0x816f
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x34], 0x995f7626
mov dword [ebp - 0x40], 0xec6f0d4a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jne 0x46df91
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
je 0x46dfa7
mov eax, dword [ebp - 0x18]
jmp 0x46dfae
cmp dword [ebp - 0x1c], ebx
mov eax, ebx
je 0x46dfb0
mov eax, edi
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ebx
jne 0x46e006
cmp dword [ebp - 0x34], ebx
je 0x46e002
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setl dl
add edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x40]
jle 0x46e006
mov ecx, ebx
jmp 0x46e008
mov ecx, edi
xor eax, eax
cmp ecx, 3
setge al
mov dword [ebp - 0x1c], eax
jmp 0x46e186
mov dword [ebp - 0x2c], 0x8c20e5e2
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 9
mov dword [ebp - 0x44], 0x581f
cmp dword [ebp - 0x44], 0x5abe
jle 0x46e088
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
mov eax, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x300]
call fcn.00401993
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x46e05c
mov eax, dword [eax]
push eax
call fcn.004c4197
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x300]
call fcn.0045d043
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x2188
jl 0x46e040
inc esi
cmp esi, 0x1042
jl 0x46e03b
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x44], 0x56d3
jge 0x46e0a6
push 0xacc934
call fcn.004c4197
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x46e0cf
mov dword [ebp - 0x14], ebx
jmp 0x46e0e5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x218], 0x3d48
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x46e0d4
cmp dword [ebp - 0x24], ebx
je 0x46e181
mov eax, dword [ebp - 0x214]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x24]
imul ecx, eax, 0xfffffffb
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0xffffffff
setge al
xor edx, edx
cmp eax, 0x54120977
setg dl
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x1c]
jg 0x46e149
cmp dword [ebp - 0x3c], ebx
mov eax, edi
jne 0x46e14b
mov eax, ebx
cmp dword [ebp - 0x24], eax
je 0x46e157
cmp dword [ebp - 0x40], ebx
mov ecx, ebx
je 0x46e159
mov ecx, edi
mov eax, dword [ebp - 0x34]
sub ecx, eax
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x214]
xor ecx, ecx
cmp ecx, eax
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x1e8]
mov dword [eax + 4], ecx
mov eax, edi
jne 0x46e183
mov eax, ebx
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46e19b
push ebx
push 0xa19
call dword [fcn.00adf414]
lea ecx, [ebp - 0x1e8]
call fcn.0045cd39
cmp dword [ebp - 0x30], 0
je 0x46e562
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x40], 0xdf98a59c
mov dword [ebp - 0x40], 0xfc07e17f
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x46e1e2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x198], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x46e1d1
mov dword [ebp - 0x38], ebx
jmp 0x46e219
mov dword [ebp - 0x14], ebx
jmp 0x46e203
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x130], 0xb4ebb0cb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x46e1f2
dec dword [ebp - 0x198]
cmp dword [ebp - 0x130], ebx
jne 0x46e21f
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x1a
jne 0x46e1ed
mov dword [ebp - 0x40], 0x90a23371
mov dword [ebp - 0x44], 0xcb9
cmp dword [ebp - 0x44], 0xf46
jle 0x46e27f
mov dword [ebp - 0x3c], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov edi, esi
mov ebx, 0xd46
mov esi, dword [ebp - 0x3c]
mov eax, esi
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xadc578
call fcn.0045cb52
dec edi
dec ebx
jne 0x46e248
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x69be
jl 0x46e23e
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x30]
call fcn.0046bdf0
mov dword [ebp - 0x94], eax
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x44], 0xa0b
jge 0x46e2af
mov edx, 0xacc974
mov ecx, 0xadc578
call fcn.0045e4f8
or dword [ebp - 4], 0xffffffff
jmp 0x46e2d8
mov dword [ebp - 0x38], 0x5d6c05ba
mov dword [ebp - 0x38], 0xfffffff2
jmp 0x46e59e
mov dword [ebp - 0x14], 0xeede0b40
mov dword [ebp - 0x14], 0xe
jmp 0x46e595
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x46e592
push ebx
call dword [0xadf2d0]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe3
jle 0x46e582
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x11
jle 0x46e572
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0x94]
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