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

Disassembly:
mov eax, 0x4a976b
call fcn.004a8940
sub esp, 0x1e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x4c], ecx
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], 0xcb5a
mov dword [ebp - 0x24], 0x166c1932
xor edi, edi
inc edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], ebx
or esi, 0xffffffff
cmp dword [ebp - 0x38], 3
jge 0x48ed65
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xf4], esi
inc dword [ebp - 0x38]
jmp 0x48ed50
mov dword [ebp - 0x2c], ebx
jmp 0x48ed90
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x48ed8d
push ebx
push 0xd9d
push 0x26c8
push 0x5f2
push 0xd54
call dword [0xaba05c]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jle 0x48ed6a
cmp dword [ebp - 0xf4], ebx
jne 0x48eddc
mov eax, dword [ebp - 0xf0]
xor edx, edx
test eax, eax
sets dl
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, 0xffff
jne 0x48edc4
cmp dword [ebp - 0x1c], ebx
mov eax, ebx
je 0x48edc6
mov eax, edi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], ebx
mov edx, ebx
je 0x48edde
mov edx, edi
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
cmp eax, edx
setl cl
mov eax, dword [ebp - 0x2c]
imul eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [0xab7e80]
test al, 1
jne 0x48ee72
or eax, edi
mov dword [0xab7e80], eax
mov dword [0xab7eb0], ebx
mov dword [0xab7eb4], ebx
push ebx
push ebx
call fcn.0042ee59
mov dword [0xab7eb0], eax
mov dword [0xab7eb8], ebx
mov dword [0xab7ec0], ebx
mov dword [0xab7ecc], 0x3f800000
mov dword [ebp - 0x6c], eax
mov dword [0xab7ebc], ebx
lea eax, [ebp - 0x6c]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x130]
push eax
mov ecx, 0xab7eb8
call fcn.0042ebfe
mov dword [0xab7ec4], 7
mov dword [0xab7ec8], 8
push 0x4a9984
call fcn.0049316d
pop ecx
imul eax, dword [ebp - 0x4c], 0x2710
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], 0x4b38
cmp dword [ebp - 0x20], 0x4c2c
jle 0x48eed5
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x24], 0x5530
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
add edi, ebx
dec dword [ebp - 0x24]
jne 0x48eea1
inc ebx
cmp ebx, 0x45e3
mov edi, dword [ebp - 0x30]
jl 0x48ee97
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x1d68
push 0
pop ebx
jl 0x48ee94
xor edi, edi
inc edi
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x40], 0xacb8f2ba
mov dword [ebp - 0x24], 0x8b01
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
je 0x48ef19
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48ef01
call dword [0xaba28c]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48ef8f
push ebx
push ebx
push ebx
call dword [0xaba31c]
jmp 0x48ef8f
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], 0x2aa9dade
mov dword [ebp - 0x34], 0x9fa8bc07
mov dword [ebp - 0x40], 0xe2fe8172
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, 0x79ae4f78
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
je 0x48ef55
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, 0x45
setge cl
xor edx, edx
cmp ecx, esi
setge dl
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, esi
setg dl
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x40], ecx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x20], 0x4947
jge 0x48efaa
mov edx, 0xaaa200
mov ecx, 0xab6b98
call fcn.0042ef5a
mov dword [ebp - 4], esi
jmp 0x48efd4
lea eax, [ebp - 0x58]
push eax
call fcn.004909a6
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x48f26e
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x20], ebx
jmp 0x48effe
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xc
je 0x48eff5
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48f031
push 0x1438
push 0x2345
push 0xb5c
push 0x249a
push 0x1a75
push 0xadc
call dword [0xaba0c4]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], 0xc88eb987
mov dword [ebp - 0x30], 0x1a969ac5
mov dword [ebp - 0x44], 0xd8af871
mov dword [ebp - 0x44], 0xdb2b
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 0x38], ebx
jmp 0x48f08c
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xd0], 0x91b68dee
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x48f07b
cmp dword [ebp - 0x24], ebx
je 0x48f0f1
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setne dl
sub edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
inc edx
xor eax, eax
cmp edi, edx
setne al
imul eax, eax, 3
test eax, eax
jne 0x48f0f1
mov dword [ebp - 0x20], 0xfffffffd
jmp 0x48f0e6
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48f0e3
push 0x5ba
call dword [0xaba410]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1c
jge 0x48f0cf
jmp 0x48f24f
mov dword [ebp - 0x1c], 0xb83eb619
cmp dword [ebp - 0x1c], ebx
je 0x48f23a
mov dword [ebp - 0x38], 0xef544bd1
mov dword [ebp - 0x2c], 0x354c
cmp dword [ebp - 0x2c], 0x357c
jle 0x48f17a
push 0x8f4
push ebx
push 0x1da9
push 0x1645
push 0x1d10
call dword [0xaba0b8]
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov eax, ebx
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x30]
add eax, ebx
and eax, edi
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x607f
jl 0x48f140
inc ebx
mov dword [ebp - 0x30], ebx
cmp ebx, 0x23f
push 0
pop ebx
jl 0x48f138
inc edi
cmp edi, 0x2d2c
jl 0x48f135
xor edi, edi
inc edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], 2
cmp dword [ebp - 0x2c], 0x3365
jge 0x48f19c
mov edx, 0xaaa270
mov ecx, 0xab6b98
call fcn.0042ef5a
mov dword [ebp - 4], esi
jmp 0x48f1c6
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x1c]
neg eax
jne 0x48f235
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp eax, 0x518db068
setle dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x38]
jl 0x48f1f2
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
push 0xfffffffffffffff8
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, ecx
setg dl
mov eax, dword [ebp - 0x44]
imul eax, edx
test eax, eax
je 0x48f227
cmp dword [ebp - 0x28], ebx
mov ecx, edi
jne 0x48f229
mov ecx, ebx
mov eax, dword [ebp - 0x28]
add eax, ecx
cmp dword [ebp - 0x20], eax
jg 0x48f235
mov edi, ebx
mov dword [ebp - 0x40], edi
jmp 0x48f249
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48f249
call dword [0xaba264]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x490918
push ebx
push ebx
push 0x1e57
call dword [0xaba434]
jmp 0x490918
mov dword [ebp - 0x18], 0xe1757117
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xffffffe4
jge 0x48f417
mov dword [ebp - 0xe8], 3
mov dword [ebp - 0xe4], 3
mov dword [ebp - 0xe0], 3
mov dword [ebp - 0xdc], 3
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], 0x89063530
mov dword [ebp - 0x38], ebx
jmp 0x48f2cd
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x158], 3
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x48f2bc
cmp dword [ebp - 0x18], ebx
jne 0x48f2de
mov eax, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0x1f09a2b4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x34]
jne 0x48f315
cmp dword [ebp - 0x18], ebx
jne 0x48f315
cmp dword [ebp - 0x150], ebx
mov eax, ebx
je 0x48f317
mov eax, edi
mov ecx, 0x208af066
sub ecx, eax
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x14c]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1c], 0x7acf
cmp dword [ebp - 0x1c], 0x7be2
jle 0x48f3b5
mov dword [ebp - 0x30], ebx
mov ecx, ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], 0xa7d
mov eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x1ac]
call fcn.00401988
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x48f374
mov eax, dword [eax]
push eax
call fcn.00493197
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x1ac]
call fcn.0042ceaa
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x24]
jne 0x48f35a
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x2db2
jl 0x48f34e
push 0x2f3
push ebx
push ebx
push 0x181
call dword [0xaba384]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48f3ca
push ebx
push 0x9a6
call dword [0xaba3fc]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1c], 0x7897
jge 0x48f3e5
push 0xaaa288
call fcn.00493197
pop ecx
mov dword [ebp - 4], esi
jmp 0x48f40f
dec dword [ebp - 0x18]
jmp 0x48f27b
mov eax, dword [0xab7e80]
test al, 2
jne 0x48f49c
or eax, 2
mov dword [0xab7e80], eax
mov dword [0xab7e90], ebx
mov dword [0xab7e94], ebx
push ebx
push ebx
call fcn.0042ee59
mov dword [0xab7e90], eax
mov dword [0xab7e98], ebx
mov dword [0xab7ea0], ebx
mov dword [0xab7eac], 0x3f800000
mov dword [ebp - 0xbc], eax
mov dword [0xab7e9c], ebx
lea eax, [ebp - 0xbc]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x10c]
push eax
mov ecx, 0xab7e98
call fcn.0042ebfe
mov dword [0xab7ea4], 7
mov dword [0xab7ea8], 8
push 0x4a997f
call fcn.0049316d
pop ecx
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x68], xmm0
lea eax, [ebp - 0x4c]
push eax
call fcn.00490a08
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jmp 0x48f4c8
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x94], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x48f4b7
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48f4dd
push ebx
call dword [0xaba46c]
mov dword [ebp - 0x94], 8
cmp byte [ebp + 0xc], 0
jne 0x48f4f7
cmp dword [ebp - 0x38], 0
jne 0x48f78e
mov dword [ebp - 0x34], 0xffff
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48f519
push ebx
push 0x16bb
push ebx
push 0x79b
call dword [0xaba0c0]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48f52f
push ebx
push 0x19e9
push ebx
call dword [0xaba028]
lea eax, [ebp - 0x1ec]
push eax
mov dl, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x4c]
call fcn.0047f14d
pop ecx
mov esi, eax
lea edi, [ebp - 0x68]
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], 0x477862fd
mov dword [ebp - 0x18], 0xffffffeb
xor edi, edi
inc edi
cmp dword [ebp - 0x18], 0xfffffffc
jl 0x48f76f
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 0x20525c7e
mov dword [ebp - 0x20], 0xfffffffe
jmp 0x48f6d6
push edi
lea ecx, [ebp - 0xac]
call fcn.0042c8fc
mov dword [ebp - 0x28], 0x5ac3d6c1
mov dword [ebp - 0x2c], ebx
jmp 0x48f5a7
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0x11151c
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x48f594
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
imul ecx, dword [eax]
test ecx, ecx
je 0x48f6b4
cmp dword [ebp - 0x18], ebx
je 0x48f6b4
mov dword [ebp - 0x2c], 0x461e3ff1
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jl 0x48f6c8
push edi
lea ecx, [ebp - 0xc8]
call fcn.0042c8fc
mov dword [ebp - 0x1c], ebx
jmp 0x48f5ff
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x48f5f0
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0x7a7bf748
setl cl
mov edx, dword [ebp - 0x18]
sub edx, ecx
xor ecx, ecx
mov eax, dword [ebp - 0xac]
cmp edx, dword [eax + esi*4]
setle cl
mov eax, dword [ebp - 0x18]
add eax, ecx
cmp eax, dword [ebp - 0x2c]
je 0x48f638
cmp dword [ebp - 0x18], ebx
mov eax, ebx
je 0x48f63a
mov eax, edi
cmp eax, dword [ebp - 0x18]
jle 0x48f646
cmp dword [ebp - 0x20], ebx
mov ecx, edi
jne 0x48f648
mov ecx, ebx
mov eax, dword [ebp - 0x18]
neg eax
mov dword [ebp - 0x28], eax
or eax, 0xffffffff
cmp eax, ecx
sbb edx, edx
neg edx
imul edx, dword [ebp - 0x2c]
add edx, 5
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0xc8]
sub edx, dword [eax]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, dword [ebp - 0xac]
cmp dword [eax], ecx
jne 0x48f685
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0xc8]
cmp ecx, dword [eax]
setge dl
mov dword [ebp - 0x24], edx
lea ecx, [ebp - 0xc8]
call fcn.0042c9ce
dec dword [ebp - 0x2c]
jns 0x48f5df
jmp 0x48f6c8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48f6c8
push 0x236f
call dword [0xaba0f4]
lea ecx, [ebp - 0xac]
call fcn.0042c9ce
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1c
jne 0x48f57c
mov dword [ebp - 0x28], 0x4a7c
cmp dword [ebp - 0x28], 0x4c7c
jle 0x48f71a
mov esi, ebx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
inc edi
cmp edi, 0x4ec
jl 0x48f6f4
inc esi
cmp esi, 0xa5c
jl 0x48f6f2
xor edi, edi
inc edi
cmp dword [ebp - 0x24], ebx
jne 0x48f76f
mov dword [ebp - 4], 6
cmp dword [ebp - 0x28], 0x4784
jge 0x48f73e
mov edx, 0xaaa2e4
mov ecx, 0xab6b98
call fcn.0042ef5a
or dword [ebp - 4], 0xffffffff
jmp 0x48f767
inc dword [ebp - 0x18]
jmp 0x48f55c
or esi, 0xffffffff
cmp byte [ebp + 0xc], 0
je 0x48f78e
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x48f78e
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0x2c], 0x10d21dfe
mov dword [ebp - 0x28], 0x2d0b
cmp dword [ebp - 0x28], 0x2d6f
jle 0x48f7d3
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov eax, ebx
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
inc ebx
cmp ebx, 0x30f5
jl 0x48f7aa
inc edi
cmp edi, 0x696b
push 0
pop ebx
jl 0x48f7a7
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x78]
call fcn.0042c8fc
mov dword [ebp - 4], 8
cmp dword [ebp - 0x28], 0x293e
jge 0x48f7fb
mov edx, 0xaaa2f8
mov ecx, 0xab6b98
call fcn.0042ef5a
mov dword [ebp - 4], esi
jmp 0x48f823
mov dword [ebp - 0x1c], 0x9fb1c038
push edi
lea ecx, [ebp - 0x90]
call fcn.0042c8fc
mov dword [ebp - 0x18], 0x2ff3e141
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x24], 0x9dfeee83
mov dword [ebp - 0x34], 0x4523830a
mov dword [ebp - 0x18], ebx
jmp 0x48f866
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x48f85a
mov dword [ebp - 0x18], ebx
jmp 0x48f883
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x48f870
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x78]
mov dword [eax], esi
mov edx, dword [ebp - 0x2c]
inc edx
mov eax, dword [ebp - 0x90]
mov dword [eax], edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, edx
setle cl
add ecx, esi
mov dword [ebp - 0x18], ecx
je 0x48f8d6
mov eax, dword [ebp - 0x90]
cmp dword [eax], ebx
je 0x48f8d6
cmp dword [ebp - 0x30], ebx
mov edx, edi
jne 0x48f8d8
mov edx, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setge cl
mov eax, dword [ebp - 0x30]
add eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x48f970
or esi, 0xffffffff
mov dword [ebp - 0x34], esi
push 2
lea ecx, [ebp - 0x148]
call fcn.0042c8fc
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0x764f
mov dword [ebp - 0x34], 0x6aee
mov dword [ebp - 0x28], 0x5094191b
mov dword [ebp - 0x1c], ebx
jmp 0x48f95a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x32397bde
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x48f947
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x148]
call fcn.0042c9ce
jmp 0x48f9e7
mov dword [ebp - 0x18], 0xf04f
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], 0x52b7283d
mov dword [ebp - 0x28], 0xfffffff6
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x18], ebx
je 0x48f9bd
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x78]
cmp dword [eax], ebx
je 0x48f9a7
cmp dword [ebp - 0x18], ebx
mov edx, edi
jne 0x48f9a9
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x90]
cmp ecx, dword [eax]
jg 0x48f9c4
cmp dword [ebp - 0x28], ebx
mov ecx, ebx
je 0x48f9c6
mov ecx, edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
or esi, 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.0042c9ce
lea ecx, [ebp - 0x78]
call fcn.0042c9ce
cmp dword [ebp - 0x38], 0
jne 0x490594
cmp dword [ebp - 0x68], 0
jle 0x490594
mov dword [ebp - 0x20], 0x5787
cmp dword [ebp - 0x20], 0x5ac6
jle 0x48fa93
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ecx
and eax, edi
mov dword [ebp - 0x34], eax
mov edi, eax
mov ebx, ecx
mov dword [ebp - 0x28], 0x59a6
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
dec ebx
dec dword [ebp - 0x28]
jne 0x48fa3d
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x22ec
jl 0x48fa34
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x778
push 0
pop ebx
mov edi, dword [ebp - 0x1c]
jl 0x48fa28
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x1695
jl 0x48fa23
push 0xda1
push ebx
push ebx
call dword [0xaba138]
xor edi, edi
inc edi
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x20], 0x541f
jge 0x48fab2
mov edx, 0xaaa340
mov ecx, 0xab6b98
call fcn.0042ef5a
mov dword [ebp - 4], esi
jmp 0x48fadc
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], 0x79536444
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48fb0b
push 0x1b9e
push ebx
push 0x227c
push 0x16ed
push ebx
push 0x1de
call dword [0xaba044]
mov dword [ebp - 0x20], ebx
jmp 0x48fb2f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48fb26
push ebx
push 0xa9
push ebx
call dword [0xaba080]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x19
jle 0x48fb10
push 3
lea ecx, [ebp - 0x100]
call fcn.0042c8fc
mov dword [ebp - 0x1c], 0xe19d29be
mov dword [ebp - 0x34], 0x4dc9ed9b
mov dword [ebp - 0x3c], 0x2d9e
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 8
push 2
lea ecx, [ebp - 0x12c]
call fcn.0042c8fc
mov dword [ebp - 0x20], 0xcb6a7f4e
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x1c], 0x584c
cmp dword [ebp - 0x1c], 0x5a98
jle 0x48fbde
push ebx
push 0x1821
call dword [0xaba0b4]
mov dword [ebp - 0x30], ebx
mov ecx, ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], 0x2f00
mov edi, ecx
mov ebx, 0x7846
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
inc edi
dec ebx
jne 0x48fbad
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x24]
jne 0x48fba6
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x48e6
jl 0x48fb9a
xor edi, edi
inc edi
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x1c], 0x5782
jge 0x48fbfd
mov edx, 0xaaa378
mov ecx, 0xab6b98
call fcn.0042ef5a
mov dword [ebp - 4], esi
jmp 0x48fc27
mov dword [ebp - 0x18], ebx
jmp 0x48fc3f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0x648
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x48fc2c
mov dword [ebp - 0x18], ebx
jmp 0x48fc5d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0xc8959310
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x48fc4a
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 2
jg 0x48fd70
mov dword [ebp - 0x3c], 0x6d4f2887
mov dword [ebp - 0x3c], 0xc2285faa
mov dword [ebp - 0x3c], 0x7d8cf4c5
mov dword [ebp - 0x30], 0x78db
cmp dword [ebp - 0x30], 0x7abf
jle 0x48fcfa
push 0x17a0
push 0x2c6
push 0x21e7
push 0x14ab
push 0x1d35
call dword [0xaba0a8]
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov ebx, eax
mov dword [ebp - 0x28], 0x620
mov eax, edi
mov ecx, ebx
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
dec ebx
dec dword [ebp - 0x28]
jne 0x48fcc4
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x5b32
jl 0x48fcbb
inc edi
cmp edi, 0xb8f
push 0
pop ebx
jl 0x48fcb6
xor edi, edi
inc edi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x30], 0x76c4
jge 0x48fd1c
mov edx, 0xaaa3d8
mov ecx, 0xab6b98
call fcn.0042ef5a
mov dword [ebp - 4], esi
jmp 0x48fd46
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xccd2466e
mov dword [ebp - 0x3c], 0x3b4709ba
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x100]
cmp dword [eax + ecx*4], ebx
jne 0x48fd70
inc dword [ebp - 0x20]
inc dword [ebp - 0x1c]
jmp 0x48fc66
mov dword [ebp - 0x18], 0x181e
cmp dword [ebp - 0x18], 0x1aa9
jle 0x48fe07
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x20], 0x7a2b
mov eax, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0x3f60
and eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x17c]
call fcn.00401988
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x48fdbc
mov eax, dword [eax]
push eax
call fcn.00493197
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x17c]
call fcn.0042ceaa
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
jne 0x48fda2
mov eax, dword [ebp - 0x2c]
add edx, eax
mov dword [ebp - 0x30], edx
dec dword [ebp - 0x20]
jne 0x48fd96
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x4dbd
jl 0x48fd8c
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x1c80
jl 0x48fd89
cmp dword [ebp - 0x34], ebx
je 0x48fe1b
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x28], esi
dec dword [ebp - 0x28]
jmp 0x48fe35
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x48fe35
push 0xc97
push 0x1f99
push ebx
call dword [0xaba2e8]
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x18], 0x1622
jge 0x48fe50
push 0xaaa438
call fcn.00493197
pop ecx
mov dword [ebp - 4], esi
jmp 0x48fe7a
lea ecx, [ebp - 0x12c]
call fcn.0042c9ce
lea ecx, [ebp - 0x100]
call fcn.0042c9ce
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x24], 0x83c8fc55
mov dword [ebp - 0x24], 0xa98ceef9
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x28], 0xa5b04204
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x48fec5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x48febb
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
cmp eax, 0xffff
mov eax, edi
cmovne eax, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x24]
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x50]
xor eax, eax
cmp ecx, 0xfffffffd
setne al
mov ecx, 0xb39523dd
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x51b32e26
jge 0x48ff15
cmp dword [ebp - 0x24], ebx
mov ecx, edi
jne 0x48ff17
mov ecx, ebx
mov eax, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x20]
add eax, ecx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
imul ecx, eax
mov eax, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x50]
imul eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], 0x2c03342e
push 3
lea ecx, [ebp - 0x13c]
call fcn.0042c8fc
mov dword [ebp - 0x20], 0x906c
mov dword [ebp - 0x30], 0x4b25
cmp dword [ebp - 0x30], 0x4b5e
jle 0x48ffdc
push 0x12cd
push 0x1628
call dword [0xaba398]
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
or eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x194]
call fcn.00401988
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x48ffa0
mov eax, dword [eax]
push eax
call fcn.00493197
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x194]
call fcn.0042ceaa
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x1921
mov ecx, dword [ebp - 0x24]
jl 0x48ff86
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x4cfa
jl 0x48ff81
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0xaba144]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x30], 0x49de
jge 0x48fff7
push 0xaaa4a8
call fcn.00493197
pop ecx
mov dword [ebp - 4], esi
jmp 0x490021
mov dword [ebp - 0x1c], ebx
jmp 0x490035
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x490026
mov dword [ebp - 0x1c], ebx
jmp 0x490049
mov dword [ebp - 0x28], edi
dec dword [ebp - 0x28]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1b
jg 0x490040
inc dword [ebp - 0x20]
lea ecx, [ebp - 0x13c]
call fcn.0042c9ce
mov dword [ebp - 0x18], 0xfffa
mov dword [ebp - 0x1c], ebx
jmp 0x490077
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x48], 0x1c7bf0b9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x490069
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setg dl
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp dword [ebp - 0x34], eax
setle cl
cmp ecx, 0xdcad
jl 0x4900bf
cmp dword [ebp - 0x48], ebx
mov edx, edi
jne 0x4900c1
mov edx, ebx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x48]
jne 0x49015b
mov dword [ebp - 0x1c], ebx
jmp 0x4900ea
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x108], 0x5610
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x4900d9
mov dword [ebp - 0x18], ebx
jmp 0x490153
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], ebx
jmp 0x49014a
mov eax, dword [ebp - 0x108]
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
je 0x49011c
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x490147
push ebx
call dword [0xaba2b8]
jmp 0x490147
mov dword [ebp - 0x34], 0x50cfdfe9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x490142
push 0x1bf7
push 0x2375
push ebx
push 0xed4
call dword [0xaba394]
cmp dword [ebp - 0x34], ebx
jne 0x490150
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff9
jge 0x4900fd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 8
jg 0x4900f5
jmp 0x490188
mov dword [ebp - 0x18], 0xffffffe8
jmp 0x490182
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x49017f
push ebx
push 0x1842
push ebx
push 0x1a34
call dword [0xaba078]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x28
jl 0x490164
cmp dword [ebp - 0x64], 0
je 0x490594
cmp dword [ebp - 0x68], 0
je 0x490594
mov dword [ebp - 0x20], ebx
push edi
lea ecx, [ebp - 0x84]
call fcn.0042c8fc
mov dword [ebp - 0x28], 0xbae0fc36
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x18], ebx
jmp 0x4901cd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], 0xffbefa5f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4901ba
mov dword [ebp - 0x18], ebx
jmp 0x4901e8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x164], 7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4901d7
mov dword [ebp - 0x18], ebx
jmp 0x490204
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd8], 0x489b467b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x4901f3
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
neg edx
xor ecx, ecx
mov eax, dword [ebp - 0x84]
cmp dword [eax], edx
setle cl
sub ecx, 0xd3ec
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x84]
cmp ecx, dword [eax]
setle dl
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
dec dword [ebp - 0xd8]
lea ecx, [ebp - 0x84]
call fcn.0042c9ce
push edi
push 0x7a31
push edi
push edi
push dword [ebp - 0x64]
push 0x67f1
push 0x1820
push 0x2172
push 0x71df
call fcn.0048d108
push dword [ebp - 0x64]
call fcn.00479d4f
add esp, 0x28
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], 0x39ea
cmp dword [ebp - 0x30], 0x3b68
jle 0x490300
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x28], 0x3cea
mov dword [ebp - 0x34], ebx
mov eax, edi
mov ecx, ebx
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
inc ebx
cmp ebx, 0x4129
jl 0x4902bb
mov eax, dword [ebp - 0x24]
add edi, eax
dec dword [ebp - 0x28]
push 0
pop ebx
jne 0x4902b8
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x1727
jl 0x4902af
xor edi, edi
inc edi
push edi
push 0x799
push 0x60
call dword [0xaba39c]
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x30], 0x37c8
jge 0x49031f
mov edx, 0xaaa4c8
mov ecx, 0xab6b98
call fcn.0042ef5a
mov dword [ebp - 4], esi
jmp 0x490349
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x3c], 0x869ec427
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x3c], 0xc1b01586
mov dword [ebp - 0x34], 0x2b60d90c
mov dword [ebp - 0x3c], 0x4a9b8364
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xac7725e
mov dword [ebp - 0x3c], 0x455d89f8
mov dword [ebp - 0x3c], 0x9717e5ed
mov dword [ebp - 0x3c], 0x5b02
cmp dword [ebp - 0x3c], 0x5ca8
jle 0x490457
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edx, ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], ecx
mov ecx, eax
shl dword [ebp - 0x24], cl
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, edx
cdq
idiv ecx
xor edx, dword [ebp - 0x24]
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x1c4]
call fcn.00401988
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4903ee
mov eax, dword [eax]
push eax
call fcn.00493197
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x1c4]
call fcn.0042ceaa
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x6149
mov edx, dword [ebp - 0x30]
jl 0x4903cc
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x38a4
jl 0x4903c7
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x1c96
mov ecx, dword [ebp - 0x1c]
jl 0x4903ba
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x4a89
jl 0x4903b5
push ebx
push 0x790
push 0xb3a
push 0x1431
call dword [0xaba0a0]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x3c], 0x5a39
jge 0x490475
push 0xaaa50c
call fcn.00493197
pop ecx
mov dword [ebp - 4], esi
jmp 0x49049f
push 3
lea ecx, [ebp - 0x120]
call fcn.0042c8fc
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], ebx
jmp 0x4904c3
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4904b4
cmp dword [ebp - 0x18], ebx
je 0x490559
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 eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x18]
sub eax, 4
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setl dl
imul edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
cmp edx, 0xe3cf9575
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
jne 0x490545
cmp dword [ebp - 0x1c], ebx
mov ecx, ebx
je 0x490547
mov ecx, edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
add eax, ecx
cmp eax, dword [ebp - 0x20]
mov edx, edi
jl 0x49055b
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp eax, ecx
setl dl
mov dword [ebp - 0x34], edx
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x120]
call fcn.0042c9ce
lea eax, [ebp - 0x4c]
push eax
call fcn.00490a08
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], 0xd5493e
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0x530c4e2b
mov dword [ebp - 0x34], 0x37ae9f90
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jle 0x4905be
cmp dword [ebp - 0x20], ebx
mov eax, ebx
je 0x4905c0
mov eax, edi
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], 0xfffffff6
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x34], 0x2fbd
cmp dword [ebp - 0x34], 0x31fd
jle 0x490632
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov eax, edi
cdq
idiv ebx
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xab6b98
call fcn.0042c6d4
inc ebx
cmp ebx, 0x5910
jl 0x490606
inc edi
cmp edi, 0x4826
push 0
pop ebx
jl 0x490603
xor edi, edi
inc edi
cmp byte [ebp - 0x11], 0
je 0x490643
push 0x5ba
call dword [0xaba410]
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x34], 0x2f47
jge 0x490662
mov edx, 0xaaa540
mov ecx, 0xab6b98
call fcn.0042ef5a
mov dword [ebp - 4], esi
jmp 0x49068c
lea ecx, [ebp - 0x68]
call fcn.00489194
mov dword [ebp - 0x20], 0x60ce
cmp dword [ebp - 0x20], 0x615d
jle 0x49074c
push ebx
push ebx
push 0x9f9
call dword [0xaba0ac]
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x28], ebx
mov edx, ecx
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x30], edx
mov ecx, ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x3c], 0x38d3
jmp 0x4906dc
mov edx, dword [ebp - 0x30]
mov eax, edx
and eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00401988
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4906f8
mov eax, dword [eax]
push eax
call fcn.00493197
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x1dc]
call fcn.0042ceaa
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
add ecx, edx
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x3c]
jne 0x4906d9
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0x14b2
mov edx, dword [ebp - 0x30]
jl 0x4906cb
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x39f3
mov ecx, dword [ebp - 0x24]
jl 0x4906bf
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x525b
jl 0x4906ba
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x20], 0x5e2f
jge 0x490767
push 0xaaa590
call fcn.00493197
pop ecx
mov dword [ebp - 4], esi
jmp 0x490791
mov dword [ebp - 0x2c], 0xe8cff0ea
mov dword [ebp - 0x2c], esi
jmp 0x4907c4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4907af
push ebx
push ebx
push ebx
call dword [0xaba324]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4907c1
push ebx
push ebx
push ebx
call dword [0xaba2f4]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffa
jle 0x49079d
mov dword [ebp - 0x2c], ebx
jmp 0x4907f5
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4907e0
push ebx
push ebx
call dword [0xaba024]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4907f2
push ebx
push ebx
push ebx
call dword [0xaba01c]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff6
jg 0x4907cf
cmp dword [ebp - 0x40], 0
jne 0x49082a
cmp dword [ebp - 0x38], 0
je 0x49082a
push dword [ebp - 0x44]
push dword [ebp - 0x38]
call fcn.0047e880
pop ecx
pop ecx
mov esi, eax
mov dword [ebp - 0xb8], esi
lea eax, [ebp - 0x58]
push eax
call fcn.004909a6
mov dword [eax], esi
or esi, 0xffffffff
mov dword [ebp - 0x30], 0x715f0ed1
push 3
lea ecx, [ebp - 0xa0]
call fcn.0042c8fc
mov dword [ebp - 0x38], 0xfffe
mov dword [ebp - 0x44], 0x1e6e836
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x1c], 0xe0689bb5
mov dword [ebp - 0x18], ebx
jmp 0x490872
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 0x2eb2fc25
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x49085f
mov dword [ebp - 0x18], ebx
jmp 0x49088a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x114], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x49087d
mov eax, dword [ebp - 0x38]
inc dword [ebp - 0x38]
cmp eax, 0xfff9
mov esi, edi
cmovne esi, ebx
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
inc eax
xor ecx, ecx
cmp esi, eax
setg cl
imul ecx, dword [edx + 4]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0xa0]
cmp ecx, dword [eax]
jg 0x4908d1
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xa0]
mov dword [eax + 8], 0xfffffff9
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0xfffffff7
setle cl
add ecx, dword [ebp - 0x1c]
je 0x490905
cmp dword [ebp - 0x1c], ebx
jne 0x490907
mov edi, ebx
mov dword [ebp - 0x110], edi
lea ecx, [ebp - 0xa0]
call fcn.0042c9ce
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0xb8]
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