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

Disassembly:
mov eax, 0x4b1ebd
call fcn.004b0e50
sub esp, 0x2e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x28], 0x4e2db58
mov dword [ebp - 0x28], 0xa
xor ebx, ebx
xor esi, esi
inc esi
cmp dword [ebp - 0x28], 0x1c
mov dword [ebp - 0x18], 0xffffffff
jl 0x497135
mov dword [ebp - 0x24], 0x13c7
cmp dword [ebp - 0x24], 0x15c1
jle 0x496ed7
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x40], eax
mov edx, ecx
mov ecx, edi
sar edx, cl
mov dword [ebp - 0x38], edx
mov edi, ebx
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x30], edx
mov eax, edx
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x2c4]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x496e7e
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2c4]
call fcn.0040c262
inc edi
cmp edi, 0x451
mov edx, dword [ebp - 0x30]
jl 0x496e60
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x13c
mov edx, dword [ebp - 0x38]
jl 0x496e57
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x1a90
mov ecx, dword [ebp - 0x1c]
jl 0x496e49
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x4607
jl 0x496e44
call dword [0xaca158]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0xff8
jge 0x496eee
push 0xab6c00
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x496f17
mov dword [ebp - 0x24], ebx
jmp 0x496f29
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1b0], esi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x496f1c
cmp dword [ebp - 0x18], ebx
je 0x496f3d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, esi
setle cl
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x18], 0x18
cmp dword [ebp - 0x18], 6
jge 0x49712d
push 2
lea ecx, [ebp - 0xd0]
call fcn.0040bc20
mov dword [ebp - 0x24], ebx
jmp 0x496f8a
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x496f7a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x49704e
mov dword [ebp - 0x1c], 0x3ef4
cmp dword [ebp - 0x1c], 0x3f11
jle 0x496ffc
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], edi
and edi, esi
mov esi, ebx
mov eax, edi
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc esi
cmp esi, 0x6aa8
jl 0x496fc1
mov edi, dword [ebp - 0x40]
inc edi
mov dword [ebp - 0x40], edi
cmp edi, 0x616
mov esi, dword [ebp - 0x20]
jl 0x496fb7
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x3ddc
jl 0x496fb2
xor esi, esi
inc esi
push ebx
push ebx
push ebx
push ebx
call dword [fcn.00aca31c]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1c], 0x3b5e
jge 0x497025
mov edx, 0xab6c34
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x49704e
mov eax, dword [ebp - 0xd0]
mov dword [eax], 0xffffffe8
cmp dword [eax], 0xfffffff3
jle 0x49711a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x49710d
mov dword [ebp - 0x20], 0x6d4e
cmp dword [ebp - 0x20], 0x6dda
jle 0x4970bf
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x40], ebx
lea eax, [edi + esi]
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 0x542c
jl 0x497089
inc edi
cmp edi, 0x23e8
jl 0x497084
inc esi
cmp esi, 0x1a8e
jl 0x497082
xor esi, esi
inc esi
call dword [fcn.00aca308]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x20], 0x6d15
jge 0x4970e4
mov edx, 0xab6c54
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x49710d
mov eax, dword [ebp - 0xd0]
inc dword [eax]
jmp 0x49705a
lea ecx, [ebp - 0xd0]
call fcn.0040bcf2
dec dword [ebp - 0x18]
jmp 0x496f5e
inc dword [ebp - 0x28]
jmp 0x496e1a
mov dword [ebp - 0x24], ebx
jmp 0x497148
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x6c], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x49713a
mov dword [ebp - 0x18], 0xffffffe8
jmp 0x49716b
mov dword [ebp - 0x30], 0x73eb905d
cmp dword [ebp - 0x30], ebx
jne 0x497171
cmp dword [ebp - 0x18], ebx
jne 0x4971ba
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe5
jge 0x497157
cmp dword [ebp - 0x18], ebx
jne 0x4971ba
mov ecx, ebx
xor eax, eax
cmp ecx, 0x62a0
setl al
cmp eax, dword [ebp - 0x18]
jl 0x49718d
cmp dword [ebp - 0x18], ebx
jne 0x497190
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x18]
add eax, ecx
mov ecx, dword [ebp - 0x18]
add ecx, eax
cmp ecx, dword [ebp - 0x68]
jg 0x4971ab
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x6c], ebx
jne 0x4971c2
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
je 0x4971d4
cmp dword [ebp - 0x6c], ebx
mov eax, esi
jne 0x4971d6
mov eax, ebx
mov dword [ebp - 0x18], eax
mov eax, dword [0xac7f60]
test al, 1
jne 0x49725d
or eax, esi
mov dword [0xac7f60], eax
mov dword [0xac7f90], ebx
mov dword [0xac7f94], ebx
push ebx
push ebx
call fcn.0040e401
mov dword [0xac7f90], eax
mov dword [0xac7f98], ebx
mov dword [0xac7fa0], ebx
mov dword [0xac7fac], 0x3f800000
mov dword [ebp - 0xa4], eax
mov dword [0xac7f9c], ebx
lea eax, [ebp - 0xa4]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x164]
push eax
mov ecx, 0xac7f98
call fcn.0040e137
push 7
pop eax
mov dword [0xac7fa4], eax
mov dword [0xac7fa8], 8
push 0x4b2162
call fcn.0049b67d
pop ecx
jmp 0x497260
push 7
pop eax
imul eax, dword [ebp - 0x64], 0x2710
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x3c], 0x3f467215
mov dword [ebp - 0x1c], 0x1df8
mov dword [ebp - 0x38], 0x2fbb6bc3
mov dword [ebp - 0x24], ebx
jmp 0x49729f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x16c], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x49728e
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4972b9
push 0x259f
call dword [fcn.00aca4b0]
mov dword [ebp - 0x20], 0x5e04
cmp dword [ebp - 0x20], 0x6013
jle 0x497318
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x40], ebx
mov eax, edi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4972ec
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x1d4]
call fcn.0040c262
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 0x48c3
jl 0x4972d0
inc edi
cmp edi, 0x53e0
jl 0x4972cb
cmp dword [ebp - 0x30], ebx
je 0x497329
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
test eax, eax
mov edx, esi
jne 0x49732b
mov edx, ebx
mov eax, dword [ebp - 0x16c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
mov dword [ebp - 4], 6
cmp dword [ebp - 0x20], 0x5dea
jge 0x497356
push 0xab6c8c
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x49737f
push 7
pop edi
lea eax, [ebp - 0x70]
push eax
call fcn.00498eb3
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x150], 0xfffffff9
mov dword [ebp - 0x14c], 0xfffffff9
mov dword [ebp - 0x148], 0xfffffff9
mov dword [ebp - 0x144], 0xfffffff9
mov dword [ebp - 0x24], ebx
jmp 0x4973ce
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x74], 0x25b0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x4973c0
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
xor ecx, ecx
cmp eax, 0x4e6d4f28
setl cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0xe
cmp dword [ebp - 0x28], 0xffffffeb
jne 0x49743a
mov dword [ebp - 0x1c], 0x6c2e7ccc
mov esi, dword [ebp - 0x1c]
neg esi
sbb esi, esi
neg esi
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x1c]
xor eax, eax
cmp edx, esi
setne al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, dword [ebp - 0x30]
setle cl
mov dword [ebp - 0x144], ecx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffeb
je 0x4973f3
xor esi, esi
inc esi
cmp dword [ebp - 0x40], 0
je 0x4975be
push 3
lea ecx, [ebp - 0x124]
call fcn.0040bc20
mov dword [ebp - 0x3c], 6
mov dword [ebp - 0x20], 0x1c4e
cmp dword [ebp - 0x20], 0x1cbf
jle 0x4974aa
push ebx
call dword [0xaca274]
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x48], ebx
mov eax, edi
cdq
idiv ebx
or edx, esi
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc ebx
cmp ebx, 0x6ea5
jl 0x497476
inc edi
cmp edi, 0x383
push 0
pop ebx
jl 0x497473
inc esi
cmp esi, 0x3be0
jl 0x497471
mov dword [ebp - 4], 8
cmp dword [ebp - 0x20], 0x19f9
jge 0x4974c9
mov edx, 0xab6ca8
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x4974ef
mov dword [ebp - 0x24], ebx
jmp 0x497507
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0x62d5e48d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x4974f4
mov eax, dword [ebp - 0x124]
mov dword [eax + 4], ebx
lea ecx, [ebp - 0x124]
call fcn.0040bcf2
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x18], 0xffff
mov eax, dword [ebp - 0x18]
push 3
lea ecx, [ebp - 0xc4]
call fcn.0040bc20
mov dword [ebp - 0x48], 0x9bca7b5c
mov dword [ebp - 0x24], ebx
jmp 0x49755d
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x49754a
mov dword [ebp - 0x18], ebx
jmp 0x4975a6
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0xc4]
cmp dword [ecx + eax*4], 0xffffffff
setle dl
imul edx, dword [ecx + esi*4]
test edx, edx
jne 0x497591
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x497568
mov dword [ebp - 0x48], 0xffffffff
lea ecx, [ebp - 0xc4]
jmp 0x498e23
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x18], ebx
jmp 0x4975da
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0xfffffffc
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
je 0x4975ca
mov dword [ebp - 0x18], 0xfffffffe
cmp dword [ebp - 0x18], 0x17
je 0x4976d8
mov dword [ebp - 0x28], 0x5454
cmp dword [ebp - 0x28], 0x5734
jle 0x49767b
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov ecx, edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], 0x79f7
mov edi, ebx
add ecx, edi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x21c]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x497635
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x21c]
call fcn.0040c262
inc edi
cmp edi, 0x4e92
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
jl 0x497619
dec ecx
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x20]
jne 0x497617
mov edi, dword [ebp - 0x2c]
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x7c01
jl 0x49760b
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x5ac6
jl 0x497606
mov dword [ebp - 0x30], 0xfffd
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x28], 0x5305
jge 0x49769d
push 0xab6cf4
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4976c6
push 7
pop edi
mov dword [ebp - 0x30], 0xd21dfe4b
inc dword [ebp - 0x18]
jmp 0x4975e7
mov eax, dword [0xac7f60]
test al, 2
jne 0x497759
or eax, 2
mov dword [0xac7f60], eax
mov dword [0xac7f70], ebx
mov dword [0xac7f74], ebx
push ebx
push ebx
call fcn.0040e401
mov dword [0xac7f70], eax
mov dword [0xac7f78], ebx
mov dword [0xac7f80], ebx
mov dword [0xac7f8c], 0x3f800000
mov dword [ebp - 0x98], eax
mov dword [0xac7f7c], ebx
lea eax, [ebp - 0x98]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x17c]
push eax
mov ecx, 0xac7f78
call fcn.0040e137
mov dword [0xac7f84], edi
mov dword [0xac7f88], 8
push 0x4b215d
call fcn.0049b67d
pop ecx
mov dword [ebp - 0x1c], 0x13ab
cmp dword [ebp - 0x1c], 0x15b0
jle 0x497799
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], edi
mov esi, 0x788f
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
dec edi
dec esi
jne 0x497776
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x591d
jl 0x49776e
inc esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x1c], 0x10ae
jge 0x4977bb
mov edx, 0xab6d24
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x4977e4
push 7
pop edi
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x3c], 0x8bea1220
mov dword [ebp - 0x3c], 0x974a5202
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x24], 0x55a9
cmp dword [ebp - 0x24], 0x568d
jle 0x497864
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x20], 0x789d
mov eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x294]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x497838
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x294]
call fcn.0040c262
dec edi
dec dword [ebp - 0x20]
jne 0x49781e
mov edi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x23c5
jl 0x497814
push 7
pop edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x24], 0x5437
jge 0x497882
push 0xab6d48
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4978ae
mov dword [ebp - 0x3c], 0x2b90f998
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x24], 0xfffffff2
cmp dword [ebp - 0x24], 0x12
jle 0x497a94
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x3c], 0xe41b66ba
mov dword [ebp - 0x20], 0x3e95aad8
push 4
lea ecx, [ebp - 0xdc]
call fcn.0040bc20
mov dword [ebp - 0x20], 0x206f
cmp dword [ebp - 0x20], 0x22b8
jle 0x497985
push ebx
push 0x1e66
call dword [0xaca11c]
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
cdq
idiv edi
mov eax, ecx
mov ecx, edx
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x264]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x49793c
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x264]
call fcn.0040c262
inc edi
cmp edi, 0x2d8d
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
jl 0x49791b
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x5954
jl 0x497919
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0xe14
jl 0x497914
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0xaca00c]
push 7
pop edi
mov dword [ebp - 0x18], ebx
jmp 0x49799d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x49798a
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x20], 0x2008
jge 0x4979be
push 0xab6d9c
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4979ea
mov dword [ebp - 0x18], ebx
jmp 0x497a00
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa0], 0xa6d0811f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4979ef
mov dword [ebp - 0x18], ebx
jmp 0x497a17
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x198], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x497a0a
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0xdc]
inc dword [eax]
test ecx, ecx
je 0x497a58
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x497a5b
push 0x60e
push ebx
push 0x8ba
call dword [0xaca4a4]
jmp 0x497a5b
inc dword [ebp - 0x28]
mov dword [ebp - 0xa0], esi
mov eax, dword [ebp - 0x198]
xor ecx, ecx
cmp eax, 6
setg cl
add ecx, 0xfffb
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x198], eax
lea ecx, [ebp - 0xdc]
call fcn.0040bcf2
inc dword [ebp - 0x24]
jmp 0x4978c3
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x497b7c
mov dword [ebp - 0x28], 0x3a0e
cmp dword [ebp - 0x28], 0x3d30
jle 0x497b2f
mov edx, ebx
mov dword [ebp - 0x1c], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
lea edi, [eax + ecx]
add edi, edx
mov dword [ebp - 0x20], 0x6483
mov eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x497ae6
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x1ec]
call fcn.0040c262
dec edi
dec dword [ebp - 0x20]
jne 0x497acc
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x4e11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
jl 0x497ac0
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x15f9
jl 0x497abb
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0xc42
jl 0x497ab6
push 7
pop edi
call dword [0xaca484]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x28], 0x363b
jge 0x497b50
push 0xab6dd0
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x497b7c
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], 0x16efa42b
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
jmp 0x497baa
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xb8], 0x841b3c69
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x497b99
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 3
jg 0x497f98
mov dword [ebp - 0x28], 4
mov dword [ebp - 0x20], 0x1871
cmp dword [ebp - 0x20], 0x1bb5
jle 0x497c15
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov eax, edi
cdq
idiv ebx
and edx, esi
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc ebx
cmp ebx, 0x200d
jl 0x497bdb
inc edi
cmp edi, 0x2dec
push 0
pop ebx
jl 0x497bd8
inc esi
cmp esi, 0x4432
jl 0x497bd6
xor esi, esi
inc esi
push 7
pop edi
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x20], 0x16d5
jge 0x497c3b
mov edx, 0xab6e38
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x497c67
mov dword [ebp - 0x1c], 0xc00eadd5
mov dword [ebp - 0x1c], 0x40e
cmp dword [ebp - 0x1c], 0x462
jle 0x497cd5
push ebx
push 0x28e
push 0x157c
push 0x20de
call dword [0xaca0cc]
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x20], 0x52dd
mov eax, ebx
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
add ebx, edi
dec dword [ebp - 0x20]
jne 0x497ca2
inc edi
cmp edi, 0x1fa1
push 0
pop ebx
jl 0x497c98
inc esi
cmp esi, 0x4ed9
jl 0x497c96
xor esi, esi
inc esi
push 7
pop edi
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x1c], 0xc5
jge 0x497cf4
mov edx, 0xab6ea4
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x497d20
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x497d35
push ebx
push 0x738
call dword [0xaca3b8]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0xb8]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0xb8]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
je 0x497e2c
mov dword [ebp - 0x24], ebx
jmp 0x497d77
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x178], 0x7473
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x497d66
mov dword [ebp - 0x28], 3
cmp dword [ebp - 0x28], ebx
jl 0x497da8
dec dword [ebp - 0x170]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xb8], ecx
dec dword [ebp - 0x28]
jns 0x497d89
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], ebx
jl 0x497f90
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x20], 0x4e28
cmp dword [ebp - 0x20], 0x4f95
jle 0x497df8
mov edi, ebx
mov esi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc esi
cmp esi, 0x6b86
jl 0x497dcf
inc edi
cmp edi, 0x4158
jl 0x497dcd
xor esi, esi
inc esi
push 7
pop edi
cmp byte [ebp - 0x11], 0
je 0x497e04
call dword [0xaca2c8]
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x20], 0x4b92
jge 0x497e23
mov edx, 0xab6f58
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x497f88
mov dword [ebp - 0x20], 0x356ec7e4
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x28], ebx
jmp 0x497e45
dec dword [ebp - 0x20]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x497e3f
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], ebx
jl 0x497da8
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb8], ecx
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x497f5a
mov dword [ebp - 0x28], 0x72a
cmp dword [ebp - 0x28], 0xad1
jle 0x497efd
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
and eax, edi
add ecx, esi
xor eax, ecx
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x376b
mov ecx, dword [ebp - 0x24]
jl 0x497e9d
inc edi
cmp edi, 0x42b8
jl 0x497e98
inc esi
cmp esi, 0x4e17
jl 0x497e96
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x5998
jl 0x497e94
push ebx
push 0x58e
push ebx
push ebx
push 0x130
push 0x2561
call dword [0xaca3fc]
xor esi, esi
inc esi
push 7
pop edi
mov dword [ebp - 0x20], 0xffff
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x28], 0x34c
jge 0x497f23
mov edx, 0xab6ee0
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x497f4f
inc dword [ebp - 0x20]
dec dword [ebp - 0x18]
jmp 0x497e76
dec dword [ebp - 0x1c]
jmp 0x497e52
dec dword [ebp - 0x1c]
jmp 0x497daf
inc dword [ebp - 0x2c]
jmp 0x497bb3
lea eax, [ebp - 0x64]
push eax
call fcn.00498f15
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x110c93b4
mov dword [ebp - 0x20], 0xc877
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], 0x1c
jl 0x49817a
mov dword [ebp - 0x2c], 0xffffffff
push 4
lea ecx, [ebp - 0x100]
call fcn.0040bc20
mov dword [ebp - 0x1c], ebx
jmp 0x497fe9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x497fda
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0xb
jge 0x498167
mov dword [ebp - 0x18], 0x3e31551d
mov dword [ebp - 0x1c], 0xfffffff6
mov dword [ebp - 0x1c], ebx
jmp 0x49801d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54], 0xbb4ebb0c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x49800f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x498040
push 0xf5d
push 0x112e
push 0x407
call dword [0xaca448]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x49815f
mov dword [ebp - 0x34], 0x22b8
cmp dword [ebp - 0x34], 0x264a
jle 0x4980ab
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
add eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x204]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x49807d
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x204]
call fcn.0040c262
inc edi
cmp edi, 0x6325
mov eax, dword [ebp - 0x1c]
jl 0x498063
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x49a6
jl 0x498061
push 7
pop edi
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x28]
je 0x4980bb
cmp dword [ebp - 0x18], ebx
jne 0x4980bb
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp eax, ecx
setge dl
mov eax, dword [ebp - 0x100]
mov dword [eax + 8], edx
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x34], 0x224f
jge 0x49812b
push 0xab6fb8
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x498157
dec dword [ebp - 0x18]
jmp 0x498043
inc dword [ebp - 0x2c]
jmp 0x497ff2
lea ecx, [ebp - 0x100]
call fcn.0040bcf2
inc dword [ebp - 0x28]
jmp 0x497fb7
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x498189
call dword [0xaca238]
cmp byte [ebp + 0xc], 0
jne 0x498199
cmp dword [ebp - 0x24], 0
jne 0x49858b
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x2c], 0xffffffff
push 3
lea ecx, [ebp - 0xe8]
call fcn.0040bc20
push 3
lea ecx, [ebp - 0x118]
call fcn.0040bc20
mov dword [ebp - 0x18], ebx
jmp 0x4981d4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4981c6
mov dword [ebp - 0x18], ebx
jmp 0x4981f1
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4981de
mov dword [ebp - 0x18], ebx
jmp 0x49820f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x118]
mov dword [eax + ecx*4], 0x8056
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4981fc
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov eax, dword [ebp - 0x28]
imul eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
sub edi, eax
mov ecx, dword [ebp - 0x44]
add ecx, edi
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp ecx, eax
setge dl
cmp edx, 0xbeaa32b1
je 0x4983cf
mov dword [ebp - 0x20], 0x74fb
cmp dword [ebp - 0x20], 0x77d4
jle 0x4982bd
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], ebx
mov eax, edi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x24c]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x498291
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x24c]
call fcn.0040c262
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x3167
jl 0x498275
inc edi
cmp edi, 0x2971
jl 0x498270
mov byte [ebp - 0x11], bl
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x20], 0x74e3
jge 0x4982db
push 0xab7018
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x498304
mov dword [ebp - 0x1c], 0x1381
cmp dword [ebp - 0x1c], 0x1700
jle 0x498378
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], 0x3333
mov eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x27c]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x49833d
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x27c]
call fcn.0040c262
dec edi
dec dword [ebp - 0x34]
jne 0x498323
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x5ca8
jl 0x498319
push esi
push ebx
push 0x50a
push 0x266e
call dword [0xaca474]
cmp byte [ebp - 0x11], 0
je 0x498386
push ebx
push ebx
call dword [0xaca024]
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x1c], 0x1002
jge 0x4983a1
push 0xab7058
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x498488
mov dword [ebp - 0x20], 0xd5d08818
mov dword [ebp - 0x1c], 0xfff06982
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x3c], 0xd538770c
push esi
lea ecx, [ebp - 0x188]
call fcn.0040bc20
mov dword [ebp - 0x34], 0x9ea4087b
mov dword [ebp - 0x1c], ebx
jmp 0x49841c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x188]
mov dword [eax + ecx*4], 0x9b96
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x498409
cmp dword [ebp - 0x20], ebx
jne 0x49847a
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x118]
dec dword [eax]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp eax, ecx
setl dl
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setge cl
cmp dword [ebp - 0x1c], ecx
jge 0x49847a
mov esi, ebx
mov dword [ebp - 0x38], esi
lea ecx, [ebp - 0x188]
call fcn.0040bcf2
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x49849a
push ebx
push ebx
push ebx
call dword [fcn.00aca2c4]
lea ecx, [ebp - 0x118]
call fcn.0040bcf2
lea ecx, [ebp - 0xe8]
call fcn.0040bcf2
lea eax, [ebp - 0x2ec]
push eax
mov dl, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x64]
call fcn.004855ad
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 - 0x1c], ebx
xor esi, esi
inc esi
jmp 0x4984e5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x50], 0x48261f9c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x4984d7
mov dword [ebp - 0x50], ebx
jmp 0x498531
push 2
lea ecx, [ebp - 0x130]
call fcn.0040bc20
mov dword [ebp - 0x1c], ebx
jmp 0x498510
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x498501
mov eax, dword [ebp - 0x130]
mov dword [eax + 4], 0xfffffffa
lea ecx, [ebp - 0x130]
call fcn.0040bcf2
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xfffffffb
jge 0x4984ef
cmp byte [ebp + 0xc], 0
je 0x49858b
cmp dword [ebp - 0x8c], 0
je 0x49858b
mov eax, 0xcf5720e
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x49856a
push ebx
call dword [0xaca310]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x498579
call dword [0xaca244]
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x49859e
push ebx
call dword [0xaca45c]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4985b0
push ebx
push ebx
push ebx
call dword [0xaca2a8]
mov dword [ebp - 0x30], 0x6f69
mov dword [ebp - 0x3c], 0xab70a0
cmp dword [ebp - 0x30], 0x716f
jle 0x49862c
mov edx, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x34], ebx
lea ecx, [eax + edi]
mov eax, edx
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4985f2
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2ac]
call fcn.0040c262
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0xf22
mov edx, dword [ebp - 0x1c]
jl 0x4985d3
inc edi
cmp edi, 0x54b
jl 0x4985ce
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0xaa7
jl 0x4985cc
cmp dword [ebp - 0x24], 0
jne 0x498a9a
cmp dword [ebp - 0x94], 0
jle 0x498a9a
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], 0x92e3
mov dword [ebp - 0x1c], ebx
jmp 0x49865c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x60], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x498652
mov dword [ebp - 0x5c], 0xb
jmp 0x49867f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x49867c
push ebx
push ebx
call dword [fcn.00aca298]
dec dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xfffffff1
jge 0x49866b
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], ebx
je 0x49869e
cmp dword [ebp - 0x2c], ebx
je 0x498695
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x4c], eax
mov eax, 0xbdde
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1c], 0xe8e56f9b
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jg 0x4987c3
mov dword [ebp - 0x2c], 0x78a6
cmp dword [ebp - 0x2c], 0x7bd0
jle 0x49875f
push ebx
call dword [0xaca320]
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp - 0x20]
lea eax, [edi + esi]
and eax, ecx
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x68d3
jl 0x498716
inc edi
cmp edi, 0x3fb3
push 0
pop ebx
jl 0x49870e
inc esi
cmp esi, 0x1744
jl 0x49870c
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0xada
jl 0x49870a
xor esi, esi
inc esi
mov dword [ebp - 0x38], 4
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x2c], 0x773e
jge 0x498785
mov edx, 0xab70e0
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x4987ae
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x160]
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x1c]
jmp 0x4986e6
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4987d8
push ebx
push 0x14e1
call dword [0xaca410]
mov dword [ebp - 0x34], 0x48f6
cmp dword [ebp - 0x34], 0x4c75
jle 0x498814
mov edi, ebx
mov esi, ebx
mov eax, edi
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc esi
cmp esi, 0x2db5
jl 0x4987ec
inc edi
cmp edi, 0x79e7
jl 0x4987ea
xor esi, esi
inc esi
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x34], 0x4695
jge 0x49883c
mov edx, 0xab7120
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x498868
mov dword [ebp - 0x28], 0x3342eb9
mov dword [ebp - 0x34], 0x26ff23b1
mov dword [ebp - 0x38], 0xfffffff7
mov dword [ebp - 0x28], 0xffffffef
cmp dword [ebp - 0x28], 0xffffffec
jg 0x498a11
mov dword [ebp - 0x2c], 0xb2906c90
mov dword [ebp - 0x38], 0xd68f9855
mov dword [ebp - 0x34], 0xab89bdd7
mov dword [ebp - 0x18], 0x6909
cmp dword [ebp - 0x18], 0x6cb5
jle 0x49892c
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0xa8], ebx
cdq
idiv edi
mov ecx, edx
mov dword [ebp - 0x9c], ecx
mov edi, ebx
mov eax, edi
xor eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x2dc]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4988ec
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2dc]
call fcn.0040c262
inc edi
cmp edi, 0x7d5a
mov ecx, dword [ebp - 0x9c]
jl 0x4988d0
mov edi, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0xcde
mov eax, dword [ebp - 0x20]
jl 0x4988bd
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x53ec
jl 0x4988b8
mov dword [ebp - 0x140], 0xf928d9ba
mov dword [ebp - 0x13c], 0xf928d9ba
mov dword [ebp - 0x138], 0xf928d9ba
mov dword [ebp - 0x134], 0xf928d9ba
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x18], 0x6798
jge 0x49896f
push 0xab7138
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x498998
mov edi, dword [ebp - 0x1c]
cmp dword [ebp - 0x2c], ebx
jne 0x4989ba
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], esi
jne 0x4989bd
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp eax, ecx
setl dl
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp dword [ebp - 0x20], eax
setle cl
xor eax, eax
cmp edx, ecx
setge al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x138], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x498a09
push ebx
push 0x1e66
call dword [0xaca11c]
dec dword [ebp - 0x28]
jmp 0x498884
test edi, edi
je 0x498a9a
cmp dword [ebp - 0x4c], 0
je 0x498a9a
mov ecx, edi
call fcn.00496d12
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x4c], 0xfffffffe
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x498a4f
push ebx
push ebx
call dword [0xaca3d4]
mov dword [ebp - 0x2c], ebx
jmp 0x498a86
mov dword [ebp - 0x1c], 0xa296
cmp dword [ebp - 0x1c], ebx
je 0x498a7e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
add eax, 9
je 0x498a7e
cmp dword [ebp - 0x2c], ebx
mov eax, ebx
jne 0x498a80
mov eax, esi
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x10
jl 0x498a54
lea eax, [ebp - 0x64]
push eax
call fcn.00498f15
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x30], 0x6e20
jge 0x498ab3
push dword [ebp - 0x3c]
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x498adc
mov dword [ebp - 0x18], 0xc75b57fd
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x498b6c
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x4c], 2
mov dword [ebp - 0x30], 0x65ee6d54
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x28], ebx
jmp 0x498b63
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x2c], ebx
je 0x498b23
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, 0xfffffff9
setg cl
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x2c], ebx
jmp 0x498b5a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x498b57
push ebx
push ebx
call dword [0xaca350]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffed
je 0x498b46
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffef
jge 0x498b0c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xe
jg 0x498aef
lea ecx, [ebp - 0x94]
call fcn.00492544
cmp dword [ebp - 0x40], 0
jne 0x498d95
cmp dword [ebp - 0x24], 0
je 0x498d95
mov dword [ebp - 0x18], 0x91a049fe
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x38], 0xdcee
mov dword [ebp - 0x18], ebx
jmp 0x498bf5
push esi
lea ecx, [ebp - 0xf4]
call fcn.0040bc20
mov dword [ebp - 0x3c], 0xbf90350d
mov dword [ebp - 0x1c], ebx
jmp 0x498bda
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0x22124f84
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x498bc7
mov eax, dword [ebp - 0xf4]
mov dword [eax], ebx
lea ecx, [ebp - 0xf4]
call fcn.0040bcf2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1a
jne 0x498baf
cmp dword [ebp - 0x18], ebx
je 0x498d33
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xa97f51ef
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x30], 0x696b
cmp dword [ebp - 0x30], 0x6b22
jle 0x498c9d
mov dword [ebp - 0x20], ebx
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x40], ebx
mov eax, edi
cdq
idiv dword [ebp - 0x40]
mov eax, ecx
mov ecx, edx
shl eax, cl
and eax, dword [ebp - 0x20]
cdq
push edx
push eax
lea ecx, [ebp - 0x234]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x498c55
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x234]
call fcn.0040c262
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x7e96
mov ecx, dword [ebp - 0x1c]
jl 0x498c2e
inc edi
cmp edi, 0x420e
jl 0x498c2b
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x5ebb
jl 0x498c29
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x5bdf
jl 0x498c24
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x30], 0x65ac
jge 0x498cbf
push 0xab718c
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x498ce5
mov dword [ebp - 0x3c], 0xcaa5d732
mov dword [ebp - 0x3c], 0x857b1a09
mov dword [ebp - 0x3c], 0xd50c8576
mov dword [ebp - 0x1c], ebx
jmp 0x498d0c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1bc], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x498cff
mov dword [ebp - 0x18], ebx
jmp 0x498d28
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1bc], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x498d17
inc dword [ebp - 0x38]
jmp 0x498d75
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x498d75
push ebx
push 0x668
push 0x1ca
push 0x22b1
push 0x1e74
push 0x1ab2
push 0x259a
push 0x1391
push 0x116e
push 0x986
push 0x1849
call dword [fcn.00aca090]
push dword [ebp - 0x48]
push dword [ebp - 0x24]
call fcn.00450229
pop ecx
pop ecx
mov esi, eax
mov dword [ebp - 0x80], esi
lea eax, [ebp - 0x70]
push eax
call fcn.00498eb3
mov dword [eax], esi
xor esi, esi
inc esi
mov dword [ebp - 0x40], 0x23e6
push 2
lea ecx, [ebp - 0x10c]
call fcn.0040bc20
mov dword [ebp - 0x3c], 0x8373b2c
mov dword [ebp - 0x18], ebx
jmp 0x498dc6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1a4], 0xd8f6efba
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x498db5
mov dword [ebp - 0x18], ebx
jmp 0x498de4
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0x7979b389
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x498dd1
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1a0], esi
mov ecx, dword [ebp - 0x40]
sub ecx, 0x88e1
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x10c]
mov dword [eax], edx
xor eax, eax
cmp edx, esi
setle al
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x10c]
call fcn.0040bcf2
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0x80]
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