Function at 0x44c790
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x4b4701
call fcn.004b3bc8
push ecx
mov eax, 0x1280
call fcn.004b0570
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x78], dl
mov dword [ebp - 0x150], ecx
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x71c1ec2d
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x34], 0xd080c170
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x3b3f3656
xor ebx, ebx
inc ebx
mov dword [ebp - 0x34], ebx
push 4
pop esi
push esi
lea ecx, [ebp - 0x690]
call fcn.0040a207
mov dword [ebp - 0x4c], 0x5158
mov dword [ebp - 0x2c], 0x3afa
cmp dword [ebp - 0x2c], 0x3d27
jle 0x44c873
xor eax, eax
push eax
push eax
push eax
push eax
call dword [0xaa1278]
xor edi, edi
xor esi, esi
xor ebx, ebx
mov eax, esi
mov ecx, ebx
sar eax, cl
xor eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0xcf8]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0xcf8]
call fcn.0040a7b5
inc ebx
cmp ebx, 0x1812
jl 0x44c81d
inc esi
cmp esi, 0x76e6
jl 0x44c81b
inc edi
cmp edi, 0x627e
jl 0x44c819
xor ebx, ebx
inc ebx
push 4
pop esi
mov dword [ebp - 0x14], 0
jmp 0x44c88b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x690]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x44c87c
and dword [ebp - 4], 0
cmp dword [ebp - 0x2c], 0x381d
jge 0x44c8a8
push 0xa85378
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44c8d3
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x44c8e8
push 0x257c
push eax
call dword [0xaa1354]
inc dword [ebp - 0x4c]
lea ecx, [ebp - 0x690]
call fcn.0040a2d9
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x5c], 0x4a4b
cmp dword [ebp - 0x5c], 0x4c58
jle 0x44c998
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x4c], edi
xor esi, esi
mov dword [ebp - 0x2c], esi
and dword [ebp - 0x28], 0
mov eax, edi
cdq
idiv esi
mov esi, edx
mov edi, dword [ebp - 0x28]
mov eax, esi
xor eax, edi
xor eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0xfbc]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0xfbc]
call fcn.0040a7b5
inc edi
cmp edi, 0x6653
jl 0x44c932
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x5a68
mov edi, dword [ebp - 0x4c]
jl 0x44c924
inc edi
mov dword [ebp - 0x4c], edi
cmp edi, 0x3123
jl 0x44c91f
inc ebx
cmp ebx, 0x52d7
jl 0x44c91a
xor ebx, ebx
inc ebx
mov dword [ebp - 0x38], 0xcda7209c
mov dword [ebp - 4], 2
cmp dword [ebp - 0x5c], 0x4728
jge 0x44c9ba
push 0xa853c0
call fcn.0049e427
pop ecx
or esi, 0xffffffff
mov dword [ebp - 4], esi
jmp 0x44c9e6
push 4
pop edi
push 3
lea ecx, [ebp - 0x1bc]
call fcn.0040a207
push edi
lea ecx, [ebp - 0x2bc]
call fcn.0040a207
mov dword [ebp - 0x24], 0x1bb30b13
mov dword [ebp - 0x50], 0x95dfea44
mov dword [ebp - 0x1c], 0
jmp 0x44ca2c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1bc]
mov dword [eax + ecx*4], 0x11ec1fcc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44ca19
mov dword [ebp - 0x1c], 0
jmp 0x44ca4a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2bc]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x44ca3b
mov dword [ebp - 0x4c], 0x7e27
cmp dword [ebp - 0x4c], 0x8109
jle 0x44caa4
push 0
call dword [0xaa1260]
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x2c], 0x3a4f
xor edi, edi
mov eax, ebx
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xa9e1d8
call fcn.00409fdf
inc edi
cmp edi, 0x53bb
jl 0x44ca74
add ebx, esi
dec dword [ebp - 0x2c]
jne 0x44ca72
inc esi
cmp esi, 0x6f36
jl 0x44ca69
xor ebx, ebx
inc ebx
push 4
pop edi
xor eax, eax
cmp dword [ebp - 0x30], eax
mov edx, ebx
jne 0x44caaf
mov edx, eax
cmp dword [ebp - 0x14], eax
jne 0x44cae0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
inc eax
imul eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
add eax, 0x68f6
mov ecx, 0xe3bf118c
cmp ecx, eax
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x30]
je 0x44cae2
mov eax, ebx
mov esi, dword [ebp - 0x1bc]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
setg dl
neg edx
sub edx, 0x295a
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, dword [ebp - 0x14]
jg 0x44cb2a
xor eax, eax
cmp dword [esi + 8], eax
mov ecx, eax
je 0x44cb2c
mov ecx, ebx
xor edx, edx
mov eax, dword [ebp - 0x2bc]
cmp ecx, dword [eax]
sete dl
mov ecx, dword [ebp - 0x24]
add ecx, edx
mov eax, dword [ebp - 0x2bc]
mov dword [eax], ecx
mov dword [ebp - 4], edi
cmp dword [ebp - 0x4c], 0x7c17
jge 0x44cb61
mov edx, 0xa85408
mov ecx, 0xa9e1d8
call fcn.0040c865
or esi, 0xffffffff
mov dword [ebp - 4], esi
xor eax, eax
jmp 0x44cb94
cmp dword [ebp - 0x14], eax
je 0x44cb9c
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1bc]
cmp dword [eax + 4], 0xe0e206f6
sbb eax, eax
inc eax
xor edx, edx
cmp eax, 0xf2ec
setne dl
mov ecx, dword [ebp - 0x14]
add ecx, edx
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x50]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
add edx, 9
xor ecx, ecx
mov eax, dword [ebp - 0x1bc]
cmp dword [eax], edx
setge cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1bc]
mov dword [edx + 8], 0x69674b17
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [edx + 8], eax
je 0x44cc74
mov dword [ebp - 0x3c], 0x715b7d07
cmp dword [ebp - 0x3c], eax
jne 0x44cc4e
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, 0x4b492bb7
setge cl
add ecx, 0xd5ae
xor eax, eax
cmp ecx, esi
setne al
imul eax, dword [ebp - 0x3c]
cmp dword [edx + 8], eax
jl 0x44cc4a
mov eax, dword [ebp - 0x2bc]
cmp dword [eax + 4], 0
jne 0x44cc4e
xor ecx, ecx
jmp 0x44cc50
mov ecx, ebx
xor eax, eax
cmp ecx, 0xe1b4
setge al
imul ecx, eax, 0xf477
imul eax, dword [ebp - 0x50], 0x5ed3
xor edx, edx
cmp eax, ecx
setle dl
mov dword [ebp - 0x38], edx
jmp 0x44cc86
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x44cc86
push eax
push ebx
push eax
push eax
call dword [0xaa1344]
lea ecx, [ebp - 0x2bc]
call fcn.0040a2d9
lea ecx, [ebp - 0x1bc]
call fcn.0040a2d9
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x71c1ec2d
mov dword [ebp - 0x14], 0x7ddc85f7
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], 7
jne 0x44cd4f
push 3
lea ecx, [ebp - 0x5c4]
call fcn.0040a207
mov dword [ebp - 0x1c], 0
jmp 0x44cce5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c4]
mov dword [eax + ecx*4], 0xb546158d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44ccd2
mov dword [ebp - 0x1c], 0
jmp 0x44cd05
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1ec], 0xc3ad3b31
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44ccf4
mov dword [ebp - 0x1ec], 0
jmp 0x44cd2c
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x5c4]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1ec]
cmp dword [ebp - 0x1ec], 3
jl 0x44cd17
lea ecx, [ebp - 0x5c4]
call fcn.0040a2d9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 7
je 0x44ccbc
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x34], 0xa53d06ce
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x44cd7b
push eax
push 0x1498
call dword [0xaa1514]
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x44cd91
push eax
push eax
push eax
push eax
push eax
call dword [0xaa1044]
xor eax, eax
mov dword [ebp - 0x34], 0xd080c170
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0xfff7
mov dword [ebp - 0x1c], 0xad59e57a
push 2
lea ecx, [ebp - 0x2d4]
call fcn.0040a207
mov dword [ebp - 0x14], 0
jmp 0x44cdd2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2d4]
mov dword [eax + ecx*4], 0x29bf39
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x44cdbf
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0
cmp dword [ebp - 0x38], ebx
jg 0x44d20d
push 2
lea ecx, [ebp - 0x228]
call fcn.0040a207
mov dword [ebp - 0x30], 0xfffffff9
push ebx
lea ecx, [ebp - 0x7a8]
call fcn.0040a207
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x44ce37
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x228]
mov dword [eax + ecx*4], 0xfa2ef703
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x44ce1c
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x44ce59
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7a8]
mov dword [eax + ecx*4], 0xed99
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x44ce3f
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jg 0x44d1ef
mov dword [ebp - 0x20], 0x719d8726
push ebx
lea ecx, [ebp - 0x564]
call fcn.0040a207
mov dword [ebp - 0x28], 0x34d7aeb8
mov dword [ebp - 0x5c], 0x39bb
cmp dword [ebp - 0x5c], 0x3b00
jle 0x44cef9
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], 0x4f27
xor esi, esi
mov ebx, dword [ebp - 0x3c]
xor edi, edi
lea ecx, [edi + esi]
mov eax, ebx
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xa9e1d8
call fcn.00409fdf
inc edi
cmp edi, 0x3757
jl 0x44cea7
inc esi
cmp esi, 0xa1b
jl 0x44cea5
mov ebx, dword [ebp - 0x4c]
add dword [ebp - 0x3c], ebx
dec dword [ebp - 0x2c]
jne 0x44cea0
inc ebx
mov dword [ebp - 0x4c], ebx
cmp ebx, 0x1d2f
jl 0x44ce94
xor eax, eax
push eax
push 0x2627
push eax
call dword [0xaa1114]
xor ebx, ebx
inc ebx
push 4
pop edi
mov dword [ebp - 4], 6
cmp dword [ebp - 0x5c], 0x368a
jge 0x44cf18
mov edx, 0xa85498
mov ecx, 0xa9e1d8
call fcn.0040c865
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44cf46
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x44cf64
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x564]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x44cf4e
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x44cf83
mov eax, dword [ebp - 0x228]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax + ecx*4]
mov dword [edx + esi*4], ecx
xor edx, edx
mov eax, dword [ebp - 0x564]
cmp ecx, dword [eax]
setl dl
xor eax, eax
test edx, edx
sets al
cmp eax, dword [ebp - 0x38]
jge 0x44cfc6
mov eax, dword [ebp - 0x228]
cmp dword [eax], 0
je 0x44cfc6
mov eax, ebx
jmp 0x44cfc8
xor eax, eax
imul eax, eax, 0x5558
test eax, eax
je 0x44d007
mov dword [ebp - 0x30], 0
jmp 0x44cffc
mov dword [ebp - 0x20], 0
jmp 0x44cff3
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x228]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x44cfe4
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 7
jl 0x44cfdb
jmp 0x44d1b5
mov dword [ebp - 0x2c], 0x50c4
cmp dword [ebp - 0x2c], 0x5149
jle 0x44d058
xor esi, esi
xor edi, edi
mov eax, esi
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xa9e1d8
call fcn.00409fdf
inc edi
cmp edi, 0x61b0
jl 0x44d01b
inc esi
cmp esi, 0x6fe7
jl 0x44d019
push 0x1cda
push 0xe5b
push 0x2da
call dword [0xaa10b4]
push 4
pop edi
mov dword [ebp - 0x34], 0x458a
mov dword [ebp - 4], 8
cmp dword [ebp - 0x2c], 0x4da5
jge 0x44d07e
mov edx, 0xa8550c
mov ecx, 0xa9e1d8
call fcn.0040c865
or dword [ebp - 4], 0xffffffff
jmp 0x44d0a5
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x3a
je 0x44d1a5
mov dword [ebp - 0x28], 0x4457
mov dword [ebp - 0x44], 0xfe298319
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x60], 0x36e0
cmp dword [ebp - 0x60], 0x374d
jle 0x44d14f
xor ebx, ebx
xor edi, edi
xor esi, esi
mov edx, ebx
mov ecx, edi
sar edx, cl
mov dword [ebp - 0x5c], edx
mov eax, esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x4c], 0x3dfb
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0xd28]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0xd28]
call fcn.0040a7b5
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x4c]
mov edx, dword [ebp - 0x5c]
jne 0x44d0f3
inc esi
cmp esi, 0x4851
jl 0x44d0e7
inc edi
cmp edi, 0x4b3f
jl 0x44d0dc
inc ebx
cmp ebx, 0x29f
jl 0x44d0da
push 4
pop edi
mov eax, dword [ebp - 0x2d4]
cmp dword [eax + 4], 0
jne 0x44d1a5
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x60], 0x3351
jge 0x44d176
push 0xa85560
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44d19d
inc dword [ebp - 0x30]
jmp 0x44d0aa
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x20], 0xfffffffd
jmp 0x44d1d7
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x3d], 0
cmp byte [ebp - 0x3d], 0
je 0x44d1d4
call dword [0xaa1448]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
je 0x44d1be
lea ecx, [ebp - 0x564]
call fcn.0040a2d9
inc dword [ebp - 0x1c]
jmp 0x44ce5c
lea ecx, [ebp - 0x7a8]
call fcn.0040a2d9
lea ecx, [ebp - 0x228]
call fcn.0040a2d9
inc dword [ebp - 0x38]
jmp 0x44cde5
lea ecx, [ebp - 0x2d4]
call fcn.0040a2d9
mov dword [ebp - 0x34], 0x3b3f3656
mov dword [ebp - 0x30], 0xfe0a8eac
mov dword [ebp - 0x48], 0x6979f9f4
mov dword [ebp - 0x4c], 3
push 3
lea ecx, [ebp - 0x6a8]
call fcn.0040a207
mov dword [ebp - 0x1c], 0
jmp 0x44d25b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x128], 0xdd688769
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44d24a
mov dword [ebp - 0x1c], 0
jmp 0x44d27d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6a8]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44d26a
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0xfffffffd
jg 0x44d576
push ebx
lea ecx, [ebp - 0x57c]
call fcn.0040a207
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x44d2c4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x13c], 0x8ef6b8f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x44d2ab
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x44d2e6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x57c]
mov dword [eax + ecx*4], 0xef23e469
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x44d2cc
xor eax, eax
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 2
jg 0x44d563
mov dword [ebp - 0x24], 0xf30836b1
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jg 0x44d558
mov dword [ebp - 0x38], 0xa61eefb6
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 2
jg 0x44d54e
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x128], 0
je 0x44d355
mov dword [ebp - 0x2c], 9
cmp dword [ebp - 0x24], 0
jne 0x44d54e
dec dword [ebp - 0x2c]
inc dword [ebp - 0x38]
jmp 0x44d325
mov dword [ebp - 0x2c], 0xbf4
cmp dword [ebp - 0x2c], 0xf5e
jle 0x44d3c1
xor ebx, ebx
xor esi, esi
xor edi, edi
mov eax, esi
cdq
idiv edi
lea eax, [ebx + edx]
cdq
push edx
push eax
lea ecx, [ebp - 0x11d8]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0x11d8]
call fcn.0040a7b5
inc edi
cmp edi, 0x37ff
jl 0x44d36b
inc esi
cmp esi, 0x7f37
jl 0x44d369
inc ebx
cmp ebx, 0x7687
jl 0x44d367
xor ebx, ebx
inc ebx
push 4
pop edi
mov byte [ebp - 0x3d], 0
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x2c], 0xa6c
jge 0x44d3e0
push 0xa855b0
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44d40e
cmp byte [ebp - 0x3d], 0
je 0x44d43c
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x8dc
push 0x863
push 0x1651
push 0x23ce
push 0x21ab
call dword [0xaa1078]
mov dword [ebp - 0x14], 2
xor eax, eax
cmp dword [ebp - 0x14], eax
jl 0x44d350
mov dword [ebp - 0x2c], 0x25a5
cmp dword [ebp - 0x2c], 0x28e5
jle 0x44d4c8
mov ebx, eax
jmp 0x44d464
xor eax, eax
mov esi, eax
jmp 0x44d46a
xor eax, eax
mov edi, eax
mov eax, ebx
mov ecx, esi
shl eax, cl
mov dword [ebp - 0x28], eax
and eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0xd58]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0xd58]
call fcn.0040a7b5
inc edi
cmp edi, 0x301b
mov eax, dword [ebp - 0x28]
jl 0x44d475
inc esi
cmp esi, 0xd2d
jl 0x44d468
inc ebx
cmp ebx, 0x4fc5
jl 0x44d462
xor ebx, ebx
inc ebx
push 4
pop edi
mov dword [ebp - 0x28], 9
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x2c], 0x22f0
jge 0x44d4ea
push 0xa85618
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44d514
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x128], 0
je 0x44d534
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x128]
mov eax, dword [ebp - 0x57c]
mov dword [eax], 0x9c9d9403
mov eax, dword [ebp - 0x138]
dec dword [ebp - 0x14]
jmp 0x44d443
inc dword [ebp - 0x24]
xor eax, eax
jmp 0x44d311
inc dword [ebp - 0x138]
jmp 0x44d2ec
lea ecx, [ebp - 0x57c]
call fcn.0040a2d9
dec dword [ebp - 0x30]
jmp 0x44d28a
cmp dword [ebp - 0x48], 0
jne 0x44d588
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x128]
xor edx, edx
cmp eax, ecx
setl dl
xor ecx, ecx
cmp edx, 0xeb13
setle cl
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x120]
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x6a8]
call fcn.0040a2d9
mov dword [ebp - 0x34], ebx
push edi
lea ecx, [ebp - 0x830]
call fcn.0040a207
mov dword [ebp - 0x2c], 0x356b
cmp dword [ebp - 0x2c], 0x385d
jle 0x44d674
push 0x216e
xor eax, eax
push eax
push eax
push 0x212a
call dword [0xaa14cc]
xor ebx, ebx
xor esi, esi
xor edi, edi
lea ecx, [edi + esi]
mov eax, ebx
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x1004]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0x1004]
call fcn.0040a7b5
inc edi
cmp edi, 0x2f36
jl 0x44d61f
inc esi
cmp esi, 0x4c86
jl 0x44d61d
inc ebx
cmp ebx, 0x7cf0
jl 0x44d61b
xor ebx, ebx
inc ebx
push 4
pop edi
mov dword [ebp - 0x38], 0x75dcec3d
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x2c], 0x33ed
jge 0x44d696
push 0xa8563c
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44d6c4
mov dword [ebp - 0x4c], 0x3dcdf5ef
mov dword [ebp - 0x2c], 0x5954e3f1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x1b
jle 0x44d71e
mov dword [ebp - 0x14], 0x27ca
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, ebx
setg cl
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x1b
jg 0x44d6de
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x60], 0x5158
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x5c], 0x5f4e
cmp dword [ebp - 0x5c], 0x60e8
jle 0x44d77e
mov esi, eax
mov dword [ebp - 0x4c], eax
mov ebx, esi
mov dword [ebp - 0x2c], 0x1f19
mov edi, ebx
mov esi, 0x1bfc
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xa9e1d8
call fcn.00409fdf
dec edi
dec esi
jne 0x44d750
dec ebx
dec dword [ebp - 0x2c]
jne 0x44d749
mov esi, dword [ebp - 0x4c]
inc esi
mov dword [ebp - 0x4c], esi
cmp esi, 0x702d
jl 0x44d740
xor ebx, ebx
inc ebx
push 4
pop edi
mov dword [ebp - 0x14], 0xd59e57ad
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x5c], 0x5e8c
jge 0x44d7a4
mov edx, 0xa856a8
mov ecx, 0xa9e1d8
call fcn.0040c865
or dword [ebp - 4], 0xffffffff
jmp 0x44d7ce
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x34], 0x1b66bafc
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xde9bf9f3
mov dword [ebp - 0x34], 0x815898f0
mov dword [ebp - 0x2c], 0xfffd
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 3
jmp 0x44d83b
mov dword [ebp - 0x38], 0
jmp 0x44d81d
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc24], 0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x44d80c
inc dword [ebp - 0x2c]
mov byte [ebp - 0x3d], 0
cmp byte [ebp - 0x3d], 0
je 0x44d838
push 0
call dword [0xaa1340]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 5
jl 0x44d803
mov dword [ebp - 0x14], 0
jmp 0x44d859
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x830]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x44d84a
mov dword [ebp - 0x2c], 0x21fc
cmp dword [ebp - 0x2c], 0x2351
jle 0x44d8b7
xor esi, esi
xor edi, edi
mov eax, edi
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0xd88]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push ebx
lea ecx, [ebp - 0xd88]
call fcn.0040a7b5
inc edi
cmp edi, 0x9bf
jl 0x44d872
inc esi
cmp esi, 0xa7
jl 0x44d870
push 4
pop edi
mov byte [ebp - 0x3d], 0
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x2c], 0x1e1d
jge 0x44d8d6
push 0xa856f0
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44d904
cmp byte [ebp - 0x3d], 0
je 0x44d916
push 0x257c
push eax
call dword [0xaa1354]
inc dword [ebp - 0x60]
lea ecx, [ebp - 0x830]
call fcn.0040a2d9
mov dword [ebp - 0x4c], 0xdf1adb2b
mov dword [ebp - 0x2c], 0x1ec9
cmp dword [ebp - 0x2c], 0x2252
jle 0x44d967
xor edi, edi
xor esi, esi
mov eax, edi
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xa9e1d8
call fcn.00409fdf
inc esi
cmp esi, 0x36d0
jl 0x44d93f
inc edi
cmp edi, 0x77e9
jl 0x44d93d
push 4
pop edi
mov dword [ebp - 0x50], 0xcf592758
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x2c], 0x1cd4
jge 0x44d98d
mov edx, 0xa85768
mov ecx, 0xa9e1d8
call fcn.0040c865
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44d9bb
mov dword [ebp - 0x2c], 0xa8ed40a1
push 0xfffffffffffffff6
pop esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], 0x7a81a82e
mov dword [ebp - 0x34], 0x4255ebda
mov dword [ebp - 0x24], 0xe7071658
mov dword [ebp - 0x3c], 0x656540f2
movdqa xmm0, xmmword [0xa8e0d0]
movdqu xmmword [ebp - 0xa00], xmm0
lea ecx, [ebp - 0xa00]
lea eax, [ebp - 0x9f0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6c0]
call fcn.0040a2b3
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x44da3f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x190], 0x6488a973
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x44da26
xor eax, eax
cmp dword [ebp - 0x4c], eax
jne 0x44dac1
cmp dword [ebp - 0x28], eax
jne 0x44da50
cmp dword [ebp - 0x38], eax
mov edx, eax
je 0x44da52
mov edx, ebx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, 0xd2cf
setge al
cmp eax, dword [ebp - 0x50]
jge 0x44da76
cmp dword [ebp - 0x2c], 0
je 0x44da76
mov edx, ebx
jmp 0x44da78
xor edx, edx
mov eax, dword [ebp - 0x190]
sub edx, eax
mov eax, dword [ebp - 0x18c]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x18c]
jl 0x44da9f
xor eax, eax
cmp dword [ebp - 0x18c], eax
je 0x44daa1
mov eax, ebx
inc dword [ebp - 0x3c]
cmp eax, 9
sbb eax, eax
neg eax
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0x883ce717
jb 0x44dac1
xor ecx, ecx
jmp 0x44dac3
mov ecx, ebx
mov eax, dword [ebp - 0x24]
imul eax, ecx
xor ecx, ecx
cmp eax, 0x4802d14a
setle cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp eax, 3
setl dl
xor ecx, ecx
mov eax, dword [ebp - 0x6c0]
cmp edx, dword [eax + 8]
setl cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x6c0]
call fcn.0040a2d9
mov dword [ebp - 0x2c], 0x6d00
cmp dword [ebp - 0x2c], 0x6f20
jle 0x44db87
xor edi, edi
xor esi, esi
mov eax, edi
cdq
idiv esi
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xa9e1d8
call fcn.00409fdf
inc esi
cmp esi, 0x546e
jl 0x44db21
inc edi
cmp edi, 0x500b
jl 0x44db1f
xor eax, eax
push eax
push 0x250c
push eax
push eax
push 0x1976
push 0x9b5
push 0x2272
push 0x228d
push 0x25d6
push 0xc59
push 0x259d
push 0x120b
push 0xed
call dword [0xaa1124]
push 4
pop edi
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x2c], 0x6b36
jge 0x44dba6
mov edx, 0xa857d8
mov ecx, 0xa9e1d8
call fcn.0040c865
or ecx, 0xffffffff
mov dword [ebp - 4], ecx
xor eax, eax
jmp 0x44dbd8
mov dword [ebp - 0x30], 0xb26bdde0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x34], ecx
push ebx
lea ecx, [ebp - 0x320]
call fcn.0040a207
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x44dc25
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x408], 0x891023f1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44dc0c
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x44dc3d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x320]
mov dword [eax + ecx*4], 0xb643c8f4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x44dc2a
mov dword [ebp - 0x30], 0xfffffff2
cmp dword [ebp - 0x30], 7
jge 0x44de05
or esi, 0xffffffff
push 3
lea ecx, [ebp - 0x64c]
call fcn.0040a207
mov dword [ebp - 0x1c], 0x348f4a8f
mov dword [ebp - 0x88], 8
mov dword [ebp - 0x84], 8
mov dword [ebp - 0x80], 8
mov dword [ebp - 0x7c], 8
push 2
lea ecx, [ebp - 0x3f0]
call fcn.0040a207
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x44], 0x6173
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x44dcc9
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x64c]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x44dcae
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x44dce9
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xba4], 0x35a12a2e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x44dcd1
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x44dd09
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3f0]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x44dcf2
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x44dd2c
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x408]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x400]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov ecx, ebx
sub ecx, eax
cmp ecx, dword [ebp - 0xb98]
jne 0x44dd48
cmp dword [ebp - 0x14], 0
je 0x44dd48
mov ecx, ebx
jmp 0x44dd4a
xor ecx, ecx
mov eax, dword [ebp - 0x30]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x2c]
jg 0x44dd62
xor eax, eax
cmp dword [ebp - 0x4c], eax
mov ecx, eax
je 0x44dd64
mov ecx, ebx
mov eax, dword [ebp - 0x320]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x3f0]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x408]
mov eax, dword [ebp - 0x320]
imul ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x44ddbf
mov dword [ebp - 0x1c], 0xffffffe4
jmp 0x44ddb7
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x44ddb4
push eax
push 0xe60
push 0x15bf
push eax
call dword [0xaa1080]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 7
jle 0x44dd97
jmp 0x44dde2
mov dword [ebp - 0x1c], eax
jmp 0x44dddd
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x44ddda
push 0x249d
call dword [0xaa1518]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x44ddc4
lea ecx, [ebp - 0x3f0]
call fcn.0040a2d9
lea ecx, [ebp - 0x64c]
call fcn.0040a2d9
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 7
jl 0x44dc56
lea ecx, [ebp - 0x320]
call fcn.0040a2d9
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], eax
push 2
lea ecx, [ebp - 0x7c0]
call fcn.0040a207
mov dword [ebp - 0x2c], 9
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x44de55
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c0]
mov dword [eax + ecx*4], 0xd69f4288
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x44de3a
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x44de65
push eax
call dword [0xaa1510]
dec dword [ebp - 0x2c]
lea ecx, [ebp - 0x7c0]
call fcn.0040a2d9
mov dword [ebp - 0x34], 0x71c1ec2d
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x38], 0xcda7209c
push 3
lea ecx, [ebp - 0x2ec]
call fcn.0040a207
push edi
lea ecx, [ebp - 0x240]
call fcn.0040a207
mov dword [ebp - 0x48], 0x1bb30b13
mov dword [ebp - 0x2c], 0x702b
cmp dword [ebp - 0x2c], 0x71ee
jle 0x44df39
push 0
call dword [0xaa1264]
xor edx, edx
mov dword [ebp - 0x24], edx
xor ebx, ebx
xor edi, edi
xor esi, esi
mov eax, edi
mov ecx, esi
sar eax, cl
and eax, ebx
and eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x1148]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0x1148]
call fcn.0040a7b5
inc esi
cmp esi, 0x2f3d
mov edx, dword [ebp - 0x24]
jl 0x44ded2
inc edi
cmp edi, 0x397e
jl 0x44ded0
inc ebx
cmp ebx, 0x2d14
jl 0x44dece
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x3b9d
jl 0x44decc
xor ebx, ebx
inc ebx
push 4
pop edi
mov dword [ebp - 0x50], 0x95dfea44
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x2c], 0x6f98
jge 0x44df5b
push 0xa85820
call fcn.0049e427
pop ecx
or edx, 0xffffffff
mov dword [ebp - 4], edx
xor eax, eax
jmp 0x44df8d
mov esi, 0xe3bf118c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x44dfb6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2ec]
mov dword [eax + ecx*4], 0x11ec1fcc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44df9b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x44dfd4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x240]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x44dfbe
xor eax, eax
cmp dword [ebp - 0x30], eax
mov edx, ebx
jne 0x44dfdd
mov edx, eax
cmp dword [ebp - 0x14], eax
jne 0x44e009
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
inc eax
imul eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
add eax, 0x68f6
cmp esi, eax
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x30]
je 0x44e00b
mov eax, ebx
mov esi, dword [ebp - 0x2ec]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
setg dl
neg edx
sub edx, 0x295a
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, dword [ebp - 0x14]
jg 0x44e053
xor eax, eax
cmp dword [esi + 8], eax
mov ecx, eax
je 0x44e055
mov ecx, ebx
xor edx, edx
mov eax, dword [ebp - 0x240]
cmp ecx, dword [eax]
sete dl
mov ecx, dword [ebp - 0x48]
add ecx, edx
mov eax, dword [ebp - 0x240]
mov dword [eax], ecx
cmp dword [ebp - 0x14], 0
je 0x44e078
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2ec]
cmp dword [eax + 4], 0xe0e206f6
sbb eax, eax
inc eax
xor edx, edx
cmp eax, 0xf2ec
setne dl
mov ecx, dword [ebp - 0x14]
add ecx, edx
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x50]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x30]
add ecx, 9
xor edx, edx
mov eax, dword [ebp - 0x2ec]
cmp dword [eax], ecx
setge dl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [esi + 8], 0x69674b17
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
xor eax, eax
cmp dword [esi + 8], eax
je 0x44e14b
mov dword [ebp - 0x3c], 0x715b7d07
cmp dword [ebp - 0x3c], eax
jne 0x44e125
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, 0x4b492bb7
setge cl
add ecx, 0xd5ae
xor eax, eax
cmp ecx, 0xffffffff
setne al
imul eax, dword [ebp - 0x3c]
cmp dword [esi + 8], eax
jl 0x44e121
mov eax, dword [ebp - 0x240]
cmp dword [eax + 4], 0
jne 0x44e125
xor ecx, ecx
jmp 0x44e127
mov ecx, ebx
xor eax, eax
cmp ecx, 0xe1b4
setge al
imul ecx, eax, 0xf477
imul eax, dword [ebp - 0x50], 0x5ed3
xor edx, edx
cmp eax, ecx
setle dl
mov dword [ebp - 0x38], edx
jmp 0x44e15d
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x44e15d
push eax
push ebx
push eax
push eax
call dword [0xaa1344]
lea ecx, [ebp - 0x240]
call fcn.0040a2d9
lea ecx, [ebp - 0x2ec]
call fcn.0040a2d9
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x2c], 0x2b03
cmp dword [ebp - 0x2c], 0x2e90
jle 0x44e1cb
xor ebx, ebx
xor edi, edi
xor esi, esi
mov eax, esi
xor eax, edi
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xa9e1d8
call fcn.00409fdf
inc esi
cmp esi, 0x1b81
jl 0x44e197
inc edi
cmp edi, 0x567c
jl 0x44e195
inc ebx
cmp ebx, 0x3455
jl 0x44e193
xor ebx, ebx
inc ebx
push 4
pop edi
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x2c], 0x27bd
jge 0x44e1ea
mov edx, 0xa85868
mov ecx, 0xa9e1d8
call fcn.0040c865
or esi, 0xffffffff
mov dword [ebp - 4], esi
jmp 0x44e219
mov dword [ebp - 0x14], 0x7ddc85f7
mov dword [ebp - 0x14], edi
jmp 0x44e2af
push 3
lea ecx, [ebp - 0x420]
call fcn.0040a207
mov dword [ebp - 0x1c], 0
jmp 0x44e251
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x420]
mov dword [eax + ecx*4], 0xb546158d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44e23e
mov dword [ebp - 0x1c], 0
jmp 0x44e271
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e0], 0xc3ad3b31
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44e260
mov dword [ebp - 0x1e0], 0
jmp 0x44e298
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x420]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1e0]
cmp dword [ebp - 0x1e0], 3
jl 0x44e283
lea ecx, [ebp - 0x420]
call fcn.0040a2d9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 7
je 0x44e228
mov dword [ebp - 0x4c], 0x666
cmp dword [ebp - 0x4c], 0x9fd
jle 0x44e31b
xor esi, esi
mov dword [ebp - 0x2c], esi
mov edi, esi
mov ebx, 0x6b5f
mov eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0xdb8]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0xdb8]
call fcn.0040a7b5
dec edi
dec ebx
jne 0x44e2d5
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x5ed5
jl 0x44e2ce
inc ebx
push 4
pop edi
mov dword [ebp - 0x34], 0xd080c170
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x4c], 0x437
jge 0x44e33d
push 0xa858ac
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44e36b
mov dword [ebp - 0x2c], 0x5549
cmp dword [ebp - 0x2c], 0x5560
jle 0x44e3c8
mov edi, eax
jmp 0x44e381
xor eax, eax
mov esi, eax
mov eax, esi
xor eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x1034]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push ebx
lea ecx, [ebp - 0x1034]
call fcn.0040a7b5
inc esi
cmp esi, 0x3ab9
jl 0x44e383
inc edi
cmp edi, 0x3010
jl 0x44e37f
push 4
pop edi
mov dword [ebp - 0x34], 0xa53d06ce
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x44e3e7
push eax
push 0x1498
call dword [0xaa1514]
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x44e3fb
push eax
push eax
push eax
push eax
push eax
call dword [0xaa1044]
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x2c], 0x52fa
jge 0x44e416
push 0xa858f4
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44e444
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x3b3f3656
mov dword [ebp - 0x38], 0xfff7
mov dword [ebp - 0x1c], 0xad59e57a
push 2
lea ecx, [ebp - 0x304]
call fcn.0040a207
mov dword [ebp - 0x2c], 0x6d89
cmp dword [ebp - 0x2c], 0x711d
jle 0x44e4c4
xor edi, edi
xor esi, esi
mov eax, edi
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xde8]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push ebx
lea ecx, [ebp - 0xde8]
call fcn.0040a7b5
inc esi
cmp esi, 0x58b4
jl 0x44e47d
inc edi
cmp edi, 0x6de0
jl 0x44e47b
push 4
pop edi
mov dword [ebp - 0x14], 0
jmp 0x44e4e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x304]
mov dword [eax + ecx*4], 0x29bf39
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x44e4cd
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x2c], 0x6c8f
jge 0x44e501
push 0xa85928
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44e52b
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0
cmp dword [ebp - 0x38], ebx
jg 0x44e817
push 2
lea ecx, [ebp - 0x258]
call fcn.0040a207
mov dword [ebp - 0x30], 0xfffffff9
push ebx
lea ecx, [ebp - 0x6d8]
call fcn.0040a207
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x44e58a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x258]
mov dword [eax + ecx*4], 0xfa2ef703
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x44e56f
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x44e5ac
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6d8]
mov dword [eax + ecx*4], 0xed99
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x44e592
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jg 0x44e7f9
mov dword [ebp - 0x20], 0x719d8726
push ebx
lea ecx, [ebp - 0x528]
call fcn.0040a207
mov dword [ebp - 0x28], 0x34d7aeb8
mov dword [ebp - 0x14], 0
jmp 0x44e5ea
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x528]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x44e5db
cmp dword [ebp - 0x1c], 0
je 0x44e60f
mov eax, dword [ebp - 0x258]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax + ecx*4]
mov dword [edx + esi*4], ecx
xor edx, edx
mov eax, dword [ebp - 0x528]
cmp ecx, dword [eax]
setl dl
xor eax, eax
test edx, edx
sets al
cmp eax, dword [ebp - 0x38]
jge 0x44e652
mov eax, dword [ebp - 0x258]
cmp dword [eax], 0
je 0x44e652
mov eax, ebx
jmp 0x44e654
xor eax, eax
imul eax, eax, 0x5558
test eax, eax
je 0x44e690
mov dword [ebp - 0x30], 0
jmp 0x44e688
mov dword [ebp - 0x20], 0
jmp 0x44e67f
cmp dword [ebp - 0x30], 7
jl 0x44e667
jmp 0x44e6da
mov dword [ebp - 0x34], 0x458a
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0x3a
je 0x44e6cd
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x28], 0x4457
mov dword [ebp - 0x44], 0xfe298319
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
cmp dword [ecx + 4], 0
jne 0x44e6cd
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x3a
jne 0x44e6aa
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0xfffffffd
cmp dword [ebp - 0x20], ebx
jne 0x44e7e6
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0x22ae
cmp dword [ebp - 0x2c], 0x2475
jle 0x44e789
lea ecx, [ebp - 0x528]
call fcn.0040a2d9
inc dword [ebp - 0x1c]
jmp 0x44e5af
lea ecx, [ebp - 0x6d8]
call fcn.0040a2d9
lea ecx, [ebp - 0x258]
call fcn.0040a2d9
inc dword [ebp - 0x38]
jmp 0x44e538
lea ecx, [ebp - 0x304]
call fcn.0040a2d9
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 0xfe0a8eac
mov dword [ebp - 0x48], 0x6979f9f4
mov dword [ebp - 0x60], 3
push 3
lea ecx, [ebp - 0x87c]
call fcn.0040a207
mov dword [ebp - 0x2c], 0x1722
cmp dword [ebp - 0x2c], 0x1882
jle 0x44e8b0
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + ebx]
xor eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0xe18]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
push 0
push 1
lea ecx, [ebp - 0xe18]
call fcn.0040a7b5
inc esi
cmp esi, 0x54f6
jl 0x44e85d
inc edi
cmp edi, 0x65ab
jl 0x44e85b
inc ebx
cmp ebx, 0x4007
jl 0x44e859
xor ebx, ebx
inc ebx
push 4
pop edi
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x2c], 0x139f
jge 0x44e8cb
push 0xa859fc
call fcn.0049e427
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x44e8f9
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x44e91b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x134], 0xdd688769
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44e902
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x44e93f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x87c]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44e924
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xfffffffd
jg 0x44ebfb
push ebx
lea ecx, [ebp - 0x438]
call fcn.0040a207
mov dword [ebp - 0x1c], 0
jmp 0x44e972
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15c], 0x8ef6b8f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x44e961
mov dword [ebp - 0x1c], 0
jmp 0x44e994
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x438]
mov dword [eax + ecx*4], 0xef23e469
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x44e981
mov dword [ebp - 0x5c], 0x5da5
cmp dword [ebp - 0x5c], 0x5ee2
jle 0x44e9f8
cmp dword [ebp - 0x48], 0
jne 0x44ec0d
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x134]
xor edx, edx
cmp eax, ecx
setl dl
xor ecx, ecx
cmp edx, 0xeb13
setle cl
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x12c]
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x87c]
call fcn.0040a2d9
push edi
lea ecx, [ebp - 0x848]
call fcn.0040a207
mov dword [ebp - 0x38], 0x75dcec3d
mov dword [ebp - 0x4c], 0x3dcdf5ef
mov dword [ebp - 0x2c], 0x5954e3f1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], 0
jmp 0x44ecd0
mov dword [ebp - 0x14], 0x27ca
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, ebx
setg cl
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x1b
jg 0x44ec98
mov dword [ebp - 0x5c], 0x5583
cmp dword [ebp - 0x5c], 0x55f3
jle 0x44ed44
and dword [ebp - 0x4c], 0
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x2c], 0x556d
xor edi, edi
xor esi, esi
mov ebx, ecx
mov ecx, edi
shl ebx, cl
mov eax, ebx
and eax, esi
cdq
push edx
push eax
mov ecx, 0xa9e1d8
call fcn.00409fdf
inc esi
cmp esi, 0x7d64
jl 0x44ed00
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0x2c
cmp dword [ebp - 0x5c], 0x5548
jge 0x44ed6a