Function at 0x44ff10
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4c40a1
call fcn.004c34c8
sub esp, 0x194
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
push 4
lea ecx, [ebp - 0xa8]
call fcn.0044ceac
push 1
lea ecx, [ebp - 0xc0]
call fcn.0044ceac
mov dword [ebp - 0x18], 0x9b58331c
xor ebx, ebx
mov dword [ebp - 0x14], ebx
jmp 0x44ff64
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x44ff54
mov dword [ebp - 0x14], ebx
jmp 0x44ff82
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0xecf5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x44ff6f
mov eax, dword [ebp - 0xa8]
add eax, 8
mov dword [eax], 0x11
cmp dword [eax], 7
jge 0x450239
push 3
lea ecx, [ebp - 0x6c]
call fcn.0044ceac
mov dword [ebp - 0x18], 0x9934b0b4
mov dword [ebp - 0x18], ebx
jmp 0x44ffc6
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x44ffb6
mov edx, dword [ebp - 0x6c]
mov dword [edx], ebx
cmp dword [edx], ebx
jg 0x450221
mov dword [ebp - 0x14], ebx
jmp 0x44ffec
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0x1a9565e0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x44ffde
mov dword [ebp - 0x14], ebx
jmp 0x450008
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc8], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x44fff7
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jg 0x4501fa
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x14], 0x3b0b
cmp dword [ebp - 0x14], 0x3cf9
jle 0x4500c0
push 0x24cf
push 0x1b48
push 0x103e
push 0xbdf
push ebx
call dword [0xadd4d8]
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x18], ecx
mov eax, edi
cdq
idiv esi
mov eax, edx
mov dword [ebp - 0x28], eax
mov edx, ebx
mov dword [ebp - 0x1c], edx
xor eax, ecx
mov dword [ebp - 0x24], eax
or eax, edx
cdq
push edx
push eax
mov ecx, 0xada438
call fcn.0044cd97
mov edx, dword [ebp - 0x1c]
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x21f6
mov eax, dword [ebp - 0x24]
jl 0x450074
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x460f
mov eax, dword [ebp - 0x28]
jl 0x45006a
inc esi
cmp esi, 0x73e0
jl 0x45005b
inc edi
cmp edi, 0x4414
jl 0x450059
push ebx
call dword [0xadd32c]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x14], 0x3a8d
jge 0x4500db
mov edx, 0xabfd50
mov ecx, 0xada438
call fcn.0044e73d
or dword [ebp - 4], 0xffffffff
jmp 0x450101
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x4501de
mov dword [ebp - 0x28], 0x5a2c
cmp dword [ebp - 0x28], 0x5adc
jle 0x45018f
push ebx
push ebx
push ebx
call dword [0xadd04c]
mov esi, ebx
mov eax, esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x5d2d
mov edi, ebx
xor eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x188]
call fcn.00401993
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x450150
mov eax, dword [eax]
push eax
call fcn.004add27
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x188]
call fcn.0044d288
inc edi
cmp edi, 0x6fc5
mov eax, dword [ebp - 0x18]
jl 0x450136
dec eax
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x14]
jne 0x450134
inc esi
cmp esi, 0x4bd6
jl 0x450128
push ebx
push 0x112f
call dword [0xadd43c]
dec dword [ebp - 0xc4]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x28], 0x59a8
jge 0x4501b0
push 0xabfda4
call fcn.004add27
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4501d6
dec dword [ebp - 0x1c]
jmp 0x450104
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx + edx*4]
mov dword [ecx + edx*4], eax
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x34]
jmp 0x450011
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x450217
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx]
mov eax, dword [ebp - 0xc0]
cmp dword [eax + ecx*4], ebx
jne 0x45021a
dec dword [ebp - 0x18]
jns 0x450202
mov edx, dword [ebp - 0x6c]
inc dword [edx]
jmp 0x44ffd1
lea ecx, [ebp - 0x6c]
call fcn.0044cf7e
mov eax, dword [ebp - 0xa8]
add eax, 8
dec dword [eax]
jmp 0x44ff97
mov dword [ebp - 0x18], 0xffffffee
jmp 0x450264
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x450261
push ebx
push 0x67d
push 0x8b1
push 0xe3f
call dword [0xadd104]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe5
je 0x450242
lea ecx, [ebp - 0xc0]
call fcn.0044cf7e
lea ecx, [ebp - 0xa8]
call fcn.0044cf7e
mov dword [ebp - 0x24], 0x46ce
cmp dword [ebp - 0x24], 0x495b
jle 0x4502f2
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], ebx
mov eax, edi
cdq
idiv esi
mov dword [ebp - 0x14], edx
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x14]
mov eax, esi
xor eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xada438
call fcn.0044cd97
inc esi
cmp esi, 0x4a6f
jl 0x4502ac
inc edi
cmp edi, 0x7554
push 0
pop ebx
jl 0x4502a7
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x439d
mov edi, dword [ebp - 0x1c]
jl 0x45029a
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x527f
jl 0x450295
mov dword [ebp - 0x14], 0xd1e1e87d
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ebx
jmp 0x450311
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x450304
call fcn.0044efe9
mov dword [ebp - 0x14], ebx
jmp 0x4503b3
mov dword [ebp - 0x9c], 0xfffffffc
mov dword [ebp - 0x98], 0xfffffffc
mov dword [ebp - 0x94], 0xfffffffc
mov dword [ebp - 0x90], 0xfffffffc
mov dword [ebp - 0x28], 0x8407374f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x94], 0xce96b779
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], ecx
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x450324
mov dword [ebp - 4], 4
cmp dword [ebp - 0x24], 0x4584
jge 0x4503dc
mov edx, 0xabfde0
mov ecx, 0xada438
call fcn.0044e73d
or dword [ebp - 4], 0xffffffff
jmp 0x450402
mov dword [ebp - 0x24], ebx
push 1
lea ecx, [ebp - 0x7c]
call fcn.0044ceac
mov dword [ebp - 0x14], 0xe43
cmp dword [ebp - 0x14], 0xf47
jle 0x4504a8
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x63f1
mov dword [ebp - 0x2c], ebx
mov esi, edi
mov ecx, eax
shl esi, cl
mov edi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x158]
call fcn.00401993
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x450460
mov eax, dword [eax]
push eax
call fcn.004add27
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x158]
call fcn.0044d288
inc edi
cmp edi, 0x5030
jl 0x450444
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x28]
mov edi, dword [ebp - 0x18]
jne 0x450439
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x60eb
jl 0x45042d
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x33aa
jl 0x450428
mov dword [ebp - 0x24], 7
mov dword [ebp - 4], 6
cmp dword [ebp - 0x14], 0xdab
jge 0x4504ca
push 0xabfe30
call fcn.004add27
pop ecx
or dword [ebp - 4], 0xffffffff
xor edx, edx
inc edx
jmp 0x4504f6
mov dword [ebp - 0x18], 0x2d34caa8
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x18], ebx
jmp 0x450515
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0xd21dfe4b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x450505
mov eax, dword [ebp - 0x7c]
mov ecx, edx
sub ecx, dword [eax]
imul ecx, dword [eax]
cmp ecx, 0xb1c03809
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
je 0x45053a
cmp dword [ebp - 0x24], ebx
mov ecx, edx
jne 0x45053c
mov ecx, ebx
mov dword [ebp - 0x24], 0x891f782a
xor eax, eax
cmp ecx, edx
setne al
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x7c]
cmp ecx, dword [eax]
setl dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
sete cl
mov eax, dword [ebp - 0x7c]
imul ecx, dword [eax]
mov dword [eax], ecx
xor eax, eax
test ecx, ecx
sete al
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], 0xffffffe9
jmp 0x45058e
mov dword [ebp - 0x2c], 9
cmp dword [ebp - 0x2c], ebx
jne 0x450594
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jne 0x45057f
lea ecx, [ebp - 0x7c]
call fcn.0044cf7e
mov esi, dword [ebp - 0x3c]
cmp dword [esi + 0x10], ebx
jne 0x4505ab
xor al, al
jmp 0x450e76
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x30], 0x78fa
mov dword [ebp - 0x18], ebx
jmp 0x4505cf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x120], 0xde0bcd8c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x4505be
mov dword [ebp - 0x14], ebx
jmp 0x45061a
mov dword [ebp - 0x18], 0x10b999fb
mov dword [ebp - 0x18], ebx
jmp 0x450603
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x450600
push 0x20ec
push 0xd34
push ebx
call dword [0xadd4c8]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jle 0x4505e6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x120], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jle 0x4505da
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], 0xf
jl 0x450725
mov dword [ebp - 0x1c], 0x15dc
cmp dword [ebp - 0x1c], 0x183f
jle 0x4506a8
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x24], 0x271c
mov edi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x170]
call fcn.00401993
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x45066e
mov eax, dword [eax]
push eax
call fcn.004add27
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x170]
call fcn.0044d288
inc edi
cmp edi, 0x3d11
jl 0x450652
dec esi
dec dword [ebp - 0x24]
jne 0x450650
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x3b7c
jl 0x450646
push ebx
call dword [0xadd444]
mov dword [ebp - 0x18], 0xad9bacc5
mov dword [ebp - 4], 8
cmp dword [ebp - 0x1c], 0x12de
jge 0x4506ca
push 0xabfe5c
call fcn.004add27
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4506f0
mov dword [ebp - 0x30], 0xffcf33f2
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0x348f4a8f
mov dword [ebp - 0x18], ebx
jmp 0x450717
mov dword [ebp - 0x24], 0x329ef4a0
inc dword [ebp - 0x24]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffff
jle 0x45070a
inc dword [ebp - 0x14]
jmp 0x450627
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x2c], 0x3637
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], 0xfffffffc
jle 0x4508c0
mov dword [ebp - 0x14], 0xaed23b61
mov dword [ebp - 0x24], 0x966c4779
mov dword [ebp - 0x14], ebx
jmp 0x450768
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf0], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x450757
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x450834
mov dword [ebp - 0x24], 0x936
cmp dword [ebp - 0x24], 0x96d
jle 0x4507e7
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
xor eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00401993
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4507b1
mov eax, dword [eax]
push eax
call fcn.004add27
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1a0]
call fcn.0044d288
inc edi
cmp edi, 0x5a4b
mov ecx, dword [ebp - 0x1c]
jl 0x450794
inc esi
cmp esi, 0x1dd8
jl 0x450792
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x748e
jl 0x450790
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0xadd010]
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x24], 0x900
jge 0x45080e
push 0xabfe90
call fcn.004add27
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x450834
mov dword [ebp - 0x14], ebx
jmp 0x4508b2
mov dword [ebp - 0x24], 6
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 7
setge cl
cmp ecx, 0x87c7
je 0x450856
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xcda7
setle cl
mov eax, dword [ebp - 0x24]
mov edx, 0xbc9c3d06
cmp edx, eax
sbb eax, eax
inc eax
cmp eax, ecx
jne 0x450887
cmp dword [ebp - 0x14], ebx
je 0x450887
xor edx, edx
inc edx
jmp 0x450889
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
sub ecx, 0xcc8a
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jle 0x450839
dec dword [ebp - 0x18]
jmp 0x45073a
push 0x4ed7
push ebx
lea eax, [ebp - 0x40]
push eax
call fcn.00450ed7
add esp, 0xc
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x2c], 0x6721f7d
mov dword [ebp - 0x14], ebx
jmp 0x4508fd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd0], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4508ec
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setle dl
imul ecx, edx, 0xfffffffa
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
mov eax, dword [ebp - 0xd0]
sub ecx, eax
je 0x450934
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], 1
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setge dl
neg edx
mov dword [ebp - 0x2c], edx
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x45096d
call fcn.0044f348
mov esi, dword [ebp - 0x3c]
cmp dword [esi + 0x14], 0x10
jb 0x45097a
mov ecx, dword [esi]
jmp 0x45097c
mov ecx, esi
mov dword [ebp - 0x38], ecx
cmp dword [esi + 0x14], 0x10
jb 0x450989
mov edx, dword [esi]
jmp 0x45098b
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x450e74
push 1
lea ecx, [ebp - 0x54]
call fcn.0044ceac
mov dword [ebp - 0x24], 0x50a0c201
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x4509c5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0xd5e48d32
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x4509b5
mov eax, dword [ebp - 0x54]
mov dword [eax], ebx
cmp dword [eax], 0xa
je 0x450d34
mov dword [ebp - 0x24], 0x679bdd86
movdqa xmm0, xmmword [0xac93f0]
movdqu xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
push dword [ebp - 0x44]
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x130]
push eax
push ebx
lea ecx, [ebp - 0xb4]
call fcn.0044ec0e
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], 0x7fad
mov dword [ebp - 0x24], 0xb6b
cmp dword [ebp - 0x24], 0xc94
jle 0x450a60
mov esi, ebx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xada438
call fcn.0044cd97
inc edi
cmp edi, 0xa0c
jl 0x450a3d
inc esi
cmp esi, 0x49b0
jl 0x450a3b
push 1
lea ecx, [ebp - 0x10c]
call fcn.0044ceac
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x24], 0x9de
jge 0x450a8c
mov edx, 0xabfee4
mov ecx, 0xada438
call fcn.0044e73d
or dword [ebp - 4], 0xffffffff
jmp 0x450ab2
mov dword [ebp - 0x14], ebx
jmp 0x450ac5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], 0x6c19
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x450ab7
mov dword [ebp - 0x14], ebx
jmp 0x450ae1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x140], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x450ad0
mov dword [ebp - 0x14], ebx
jmp 0x450afd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x118], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x450aec
mov dword [ebp - 0x14], ebx
jmp 0x450b18
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x450b08
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x450b30
push ebx
push ebx
push ebx
call dword [0xadd128]
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
mov ecx, edx
sub ecx, eax
xor eax, eax
cmp edx, ecx
sete al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp dword [ebp - 0x2c], eax
setge cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x54]
cmp dword [eax], ebx
jne 0x450b8f
cmp dword [ebp - 0x140], ebx
jne 0x450b8f
xor ecx, ecx
inc ecx
jmp 0x450b91
mov ecx, ebx
xor eax, eax
cmp ecx, 0xc9a7
setl al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
add ecx, dword [eax]
jne 0x450bd7
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], cl
je 0x450d14
push ebx
push ebx
push 0x121b
push 0x1c75
push 0x2468
call dword [0xadd50c]
jmp 0x450d14
push 3
lea ecx, [ebp - 0xfc]
call fcn.0044ceac
mov dword [ebp - 0x2c], 0xee8e20e6
mov dword [ebp - 0x18], 0x5662
cmp dword [ebp - 0x18], 0x58ec
jle 0x450c57
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], 0x7c02
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x24], ecx
mov eax, edi
and eax, esi
mov dword [ebp - 0x2c], eax
xor eax, ecx
cdq
push edx
push eax
mov ecx, 0xada438
call fcn.0044cd97
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x4651
mov eax, dword [ebp - 0x2c]
jl 0x450c18
inc esi
cmp esi, 0x5f74
jl 0x450c0c
dec edi
dec dword [ebp - 0x28]
jne 0x450c0a
mov edi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x7dfe
jl 0x450c00
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x18], 0x54d2
jge 0x450c76
mov edx, 0xabff08
mov ecx, 0xada438
call fcn.0044e73d
or dword [ebp - 4], 0xffffffff
jmp 0x450c9c
mov dword [ebp - 0x1c], ebx
jmp 0x450cb4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0xd7069838
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x450ca1
mov dword [ebp - 0x18], ebx
jmp 0x450d03
push 2
lea ecx, [ebp - 0xdc]
call fcn.0044ceac
mov dword [ebp - 0x1c], ebx
jmp 0x450ce4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0x40db5b4c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x450cd1
lea ecx, [ebp - 0xdc]
call fcn.0044f4b8
lea ecx, [ebp - 0xdc]
call fcn.0044cf7e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x450cbf
lea ecx, [ebp - 0xfc]
call fcn.0044cf7e
lea ecx, [ebp - 0x10c]
call fcn.0044cf7e
lea ecx, [ebp - 0xb4]
call fcn.0044cf7e
mov eax, dword [ebp - 0x54]
inc dword [eax]
jmp 0x4509d0
lea ecx, [ebp - 0x54]
call fcn.0044cf7e
mov eax, dword [ebp - 0x38]
mov al, byte [eax]
cmp al, 0x30
jl 0x450d6b
cmp al, 0x39
jg 0x450d6b
lea eax, [ebp - 0x38]
push eax
push 0x5e43
lea eax, [ebp - 0x40]
push eax
push ebx
call fcn.00452902
add esp, 0x10
mov ecx, dword [ebp - 0x38]
inc ecx
mov esi, dword [ebp - 0x3c]
jmp 0x45097c
push 0x7fc
push 0x3c35
push ebx
push 0x45dc
push 0x4f7d
lea eax, [ebp - 0x40]
push eax
call fcn.00453695
add esp, 0x18
mov dword [ebp - 0x70], ebx
push 1
lea ecx, [ebp - 0xe8]
call fcn.0044ceac
mov dword [ebp - 0x24], 0x4afc
cmp dword [ebp - 0x24], 0x4bb7
jle 0x450ddc
push ebx
push ebx
push ebx
call dword [0xadd2d4]
mov esi, ebx
mov edi, ebx
mov eax, edi
and eax, esi
cdq
push edx
push eax
mov ecx, 0xada438
call fcn.0044cd97
inc edi
cmp edi, 0x7ef
jl 0x450db9
inc esi
cmp esi, 0x71ac
jl 0x450db7
mov dword [ebp - 0x80], 7
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x24], 0x4990
jge 0x450e02
mov edx, 0xabff5c
mov ecx, 0xada438
call fcn.0044e73d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x48], 0x2d34caa8
mov dword [ebp - 0x44], 1
lea edx, [ebp - 0xe8]
lea ecx, [ebp - 0x100]
call fcn.0044f6af
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x70]
push eax
lea edx, [ebp - 0xe8]
lea ecx, [ebp - 0x44]
call fcn.0044f7aa
add esp, 0xc
lea ecx, [ebp - 0x48]
call fcn.0044fb18
lea ecx, [ebp - 0xe8]
call fcn.0044cf7e
jmp 0x4505a4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret