Function at 0x4a3c85
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4bf825
call fcn.004be5b0
sub esp, 0x3a8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x60], ecx
push 3
lea ecx, [ebp - 0x134]
call fcn.004088bc
mov dword [ebp - 0x20], 0xfe7d8a87
mov dword [ebp - 0x24], 3
mov dword [ebp - 0x18], 0x9cea
mov dword [ebp - 0x28], 0x20da
xor ebx, ebx
xor edi, edi
inc edi
cmp dword [ebp - 0x28], 0x210e
jle 0x4a3d3f
mov esi, ebx
mov dword [ebp - 0x2c], esi
mov eax, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0x4e6
mov esi, ebx
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x36c]
call fcn.00401a68
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a3d07
mov eax, dword [eax]
push eax
call fcn.004a8e07
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x36c]
call fcn.00408e6a
inc esi
cmp esi, 0x18ef
mov eax, dword [ebp - 0x38]
jl 0x4a3ceb
dec eax
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x3c]
jne 0x4a3ce9
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x5866
jl 0x4a3cdd
push 4
lea ecx, [ebp - 0x170]
call fcn.004088bc
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x2050
jge 0x4a3d63
push 0xacb438
call fcn.004a8e07
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a3d8c
mov dword [ebp - 0x3c], 0x6dad8be7
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c], ebx
jmp 0x4a3daa
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4a3d9b
mov dword [ebp - 0x1c], ebx
jmp 0x4a3dc8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x170]
mov dword [eax + ecx*4], 0x110c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x4a3db5
mov dword [ebp - 0x1c], ebx
jmp 0x4a3de4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf4], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4a3dd3
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 2
jg 0x4a3e5a
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov dword [esi + 8], eax
mov dword [ebp - 0x28], ebx
jmp 0x4a3e4b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a3e45
push 0x1cc3
push 0x1f0d
push 0x1712
push 0xe3d
push 0x23fa
push 0x12d9
push 0x147e
push 0x1ff
push 0x3aa
call dword [fcn.00ae00f0]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x4a3e09
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x4a3df8
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x24]
sub eax, 0xc437ffe
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [edx + 4]
je 0x4a3e80
cmp dword [ebp - 0x18], ebx
mov ecx, edi
jne 0x4a3e82
mov ecx, ebx
mov dword [edx + 4], ecx
xor eax, eax
cmp ecx, 0xdda259c
setg al
cmp eax, dword [ebp - 0x20]
jge 0x4a3e9c
cmp dword [ebp - 0x18], ebx
mov ecx, ebx
je 0x4a3e9e
mov ecx, edi
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setne dl
mov eax, dword [ebp - 0x170]
dec dword [eax + 8]
mov ecx, dword [ebp - 0x18]
add ecx, dword [eax + 8]
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x18]
jne 0x4a3edb
mov eax, dword [ebp - 0x170]
cmp dword [eax], ebx
mov eax, ebx
je 0x4a3edd
mov eax, edi
mov ecx, 0xfffc
sub ecx, eax
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x34], edx
lea ecx, [ebp - 0x170]
call fcn.0040898e
lea ecx, [ebp - 0x134]
call fcn.0040898e
push 3
lea ecx, [ebp - 0x158]
call fcn.004088bc
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x18], ebx
jmp 0x4a3f35
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x158]
mov dword [eax + ecx*4], 0xb110c93b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4a3f22
mov eax, dword [ebp - 0x158]
mov dword [eax], ebx
mov dword [ebp - 0x18], ebx
jmp 0x4a3f59
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x124], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4a3f48
cmp dword [ebp - 0x124], ebx
jne 0x4a3f73
mov eax, dword [ebp - 0x158]
dec dword [eax]
cmp dword [eax], 0xffffffe4
jne 0x4a3f43
lea ecx, [ebp - 0x158]
call fcn.0040898e
mov eax, dword [0xade540]
test al, 1
jne 0x4a4002
or eax, edi
mov dword [0xade540], eax
mov dword [0xade550], ebx
mov dword [0xade554], ebx
push ebx
push ebx
call fcn.0040ae19
mov dword [0xade550], eax
mov dword [0xade558], ebx
mov dword [0xade560], ebx
mov dword [0xade56c], 0x3f800000
mov dword [ebp - 0xd4], eax
mov dword [0xade55c], ebx
lea eax, [ebp - 0xd4]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x214]
push eax
mov ecx, 0xade558
call fcn.0040abbe
mov dword [0xade564], 7
mov dword [0xade568], 8
push 0x4bfae6
call fcn.004a8ddd
pop ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x20], 0x7f191253
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x3c], 0xbf6
mov dword [ebp - 0x18], ebx
jmp 0x4a4037
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4a4029
mov dword [ebp - 0x1c], ebx
jmp 0x4a40e4
push edi
lea ecx, [ebp - 0x1d0]
call fcn.004088bc
mov dword [ebp - 0x34], 0x6a41
mov dword [ebp - 0x18], ebx
jmp 0x4a406f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1d0]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4a405c
mov dword [ebp - 0x18], 4
cmp dword [ebp - 0x18], ebx
je 0x4a40b6
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x48], ebx
je 0x4a40b3
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x48]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setge dl
mov eax, dword [ebp - 0x1d0]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x1d0]
call fcn.0040898e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x4a4044
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x4a41d3
mov dword [ebp - 0x28], ebx
jmp 0x4a41b1
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x4a41a7
mov dword [ebp - 0x3c], 0xbf3f0790
mov dword [ebp - 0x20], ebx
jmp 0x4a4126
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x21c], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x4a4119
mov dword [ebp - 0x20], ebx
jmp 0x4a4189
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x48]
xor edx, edx
cmp eax, 0x57f54ab1
setne dl
add edx, 0x79d6
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, 0x991f
setl cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, 0x9751
setle cl
sub ecx, 0xfffffffc
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x218], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x4a4131
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a419e
push ebx
call dword [0xae0350]
dec dword [ebp - 0x18]
jns 0x4a410d
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x48]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x4a4101
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a41ca
push ebx
call dword [0xae0440]
dec dword [ebp - 0x1c]
jns 0x4a40f9
imul eax, dword [ebp - 0x60], 0x2710
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x80], eax
push edi
lea ecx, [ebp - 0x8c]
call fcn.004088bc
mov dword [ebp - 0x1c], 0x56f9b2cf
mov dword [ebp - 0x20], 0x2324015f
mov dword [ebp - 0x18], 0xe291920b
push 2
lea ecx, [ebp - 0x140]
call fcn.004088bc
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x1c], ebx
jmp 0x4a422d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 0xdde0bcd8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4a421a
mov dword [ebp - 0x2c], 0x3206
cmp dword [ebp - 0x2c], 0x3389
jle 0x4a428e
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x3c], ebx
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00401a68
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a4263
mov eax, dword [eax]
push eax
call fcn.004a8e07
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2ac]
call fcn.00408e6a
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x395f
jl 0x4a4249
inc esi
cmp esi, 0x7777
jl 0x4a4244
mov dword [ebp - 0x1c], ebx
jmp 0x4a42a2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x140]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x4a4293
mov dword [ebp - 4], 2
cmp dword [ebp - 0x2c], 0x308e
jge 0x4a42c3
push 0xacb460
call fcn.004a8e07
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a42ec
mov dword [ebp - 0x1c], ebx
jmp 0x4a433b
mov dword [ebp - 0x18], 0x9fb023ed
mov dword [ebp - 0x30], 0xcc5d9b4e
mov dword [ebp - 0x3c], 0x45ee28fd
mov dword [ebp - 0x18], ebx
jmp 0x4a4333
mov dword [ebp - 0x38], 0xb7f37c04
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x8c]
cmp dword [eax + ecx*4], ebx
jne 0x4a4338
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], ebx
jl 0x4a4330
dec dword [ebp - 0x3c]
dec dword [ebp - 0x38]
jns 0x4a4328
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x4a430b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x4a42f1
mov dword [ebp - 0x20], 2
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20]
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0x8cdf
setg al
xor ecx, ecx
cmp eax, edx
setne cl
xor eax, eax
cmp ecx, edx
setne al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, esi
setne cl
sub ecx, esi
xor edx, edx
cmp ecx, esi
setl dl
sub edx, 4
imul edx, esi
xor eax, eax
cmp esi, edx
setle al
sub eax, esi
cmp esi, eax
jg 0x4a43a9
test esi, esi
mov ecx, ebx
je 0x4a43ab
mov ecx, edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x4a4475
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a452a
mov dword [ebp - 0x2c], 0x7fd8
cmp dword [ebp - 0x2c], 0x806e
jle 0x4a441e
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x3c], ebx
mov ebx, esi
mov esi, 0x57cc
mov eax, ebx
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
dec ebx
dec esi
jne 0x4a43eb
mov esi, dword [ebp - 0x3c]
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x56d4
jl 0x4a43e4
inc edi
cmp edi, 0x1e8b
push 0
pop ebx
jl 0x4a43df
xor edi, edi
inc edi
push ebx
call dword [fcn.00ae0258]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x2c], 0x7efc
jge 0x4a4444
mov edx, 0xacb4a8
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a452a
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0x160c6370
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x34], 0xc3cc8c9f
mov dword [ebp - 0x20], 0xfffffff4
jmp 0x4a44af
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a44a9
push ebx
call dword [0xae0260]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff0
jge 0x4a4499
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x140]
mov esi, dword [eax]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, 0x69b1
setge dl
lea ecx, [esi - 1]
mov eax, dword [ebp - 0x140]
mov dword [eax], ecx
cmp esi, edx
mov edx, edi
cmovle edx, ebx
xor ecx, ecx
mov eax, dword [ebp - 0x8c]
cmp dword [eax], edx
setge cl
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setl dl
add edx, dword [ebp - 0x20]
imul edx, dword [ebp - 0x3c]
add edx, 0x1f317735
xor ecx, ecx
mov eax, dword [ebp - 0x8c]
cmp edx, dword [eax]
setne cl
cmp ecx, 0xda78404d
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x140]
call fcn.0040898e
lea ecx, [ebp - 0x8c]
call fcn.0040898e
lea eax, [ebp - 0x80]
push eax
call fcn.004a6618
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], ebx
jmp 0x4a4561
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 0xb9f9b31
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4a4553
mov dword [ebp - 0x5c], ebx
cmp dword [ebp - 0x5c], 0xf
jg 0x4a45e7
mov esi, 0xb0ceafd9
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x18], ebx
jmp 0x4a45a2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x110], 0xf1bf
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4a4591
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a45b7
push ebx
call dword [0xae0040]
mov dword [ebp - 0x90], ebx
jmp 0x4a45d6
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x110], 0xd8d1
inc dword [ebp - 0x90]
cmp dword [ebp - 0x90], edi
jl 0x4a45bf
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xf
jle 0x4a4574
cmp dword [ebp - 0x3c], 0
je 0x4a4949
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], 0x4145c174
mov dword [ebp - 0x18], ebx
jmp 0x4a4611
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x210], 0x585ed065
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4a4600
cmp dword [ebp - 0x1c], ebx
jne 0x4a4664
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edi
setge cl
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setl dl
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x9c1464f1
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp ecx, edx
setle al
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x208], ebx
je 0x4a46a5
mov dword [ebp - 0x18], ebx
jmp 0x4a4685
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x250], 0xc7e43439
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x4a4674
mov dword [ebp - 0x1c], 0xfffffff7
jmp 0x4a469d
inc dword [ebp - 0x24c]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x37
jne 0x4a4694
jmp 0x4a46ab
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xc0], eax
push 3
lea ecx, [ebp - 0xa8]
call fcn.004088bc
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x30], 0xdc10
mov dword [ebp - 0x1c], ebx
jmp 0x4a46e7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0xb58e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4a46d4
mov dword [ebp - 0x1c], ebx
jmp 0x4a4703
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x26c], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4a46f2
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], edi
jne 0x4a4939
mov dword [ebp - 0x38], 0xf9f3
mov dword [ebp - 0x18], 0x6d85
cmp dword [ebp - 0x18], 0x70ff
jle 0x4a4791
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
lea eax, [esi + edi]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], 0x69f9
mov edi, ebx
mov ebx, dword [ebp - 0x3c]
mov eax, ebx
and eax, edi
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
inc edi
cmp edi, 0x44c
jl 0x4a4750
dec ebx
mov dword [ebp - 0x3c], ebx
dec dword [ebp - 0x2c]
push 0
pop ebx
jne 0x4a474b
inc esi
cmp esi, 0x6bf
mov edi, dword [ebp - 0x24]
jl 0x4a473e
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x2b14
jl 0x4a473c
xor edi, edi
inc edi
mov dword [ebp - 0x30], 0xd0188753
mov dword [ebp - 4], 6
cmp dword [ebp - 0x18], 0x6b51
jge 0x4a47b7
mov edx, 0xacb4bc
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a47e0
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a47fa
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0xae02a8]
mov ecx, dword [ebp - 0x38]
sub ecx, 0x4ebc16a6
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax]
add eax, 0xb8ee
cmp eax, ecx
jle 0x4a482e
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a4931
push ebx
push ebx
call dword [0xae053c]
jmp 0x4a4931
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x50], 0xc9105fa2
movdqa xmm0, xmmword [0xacb920]
movdqu xmmword [ebp - 0x240], xmm0
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x240]
push eax
push ebx
lea ecx, [ebp - 0x11c]
call fcn.0040b910
push 2
lea ecx, [ebp - 0x14c]
call fcn.004088bc
mov dword [ebp - 0x18], ebx
jmp 0x4a489c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x4a488d
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x14c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp dword [ecx + 4], eax
setge dl
lea ecx, [esi - 1]
mov eax, dword [ebp - 0x14c]
mov dword [eax], ecx
cmp edx, esi
mov esi, edi
cmove esi, ebx
mov eax, dword [ebp - 0xa8]
cmp dword [eax], ebx
jne 0x4a48de
cmp dword [ebp - 0x50], ebx
mov eax, ebx
je 0x4a48e0
mov eax, edi
xor ecx, ecx
cmp eax, 4
setge cl
xor edx, edx
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0xc], ecx
sete dl
sub esi, edx
je 0x4a4901
cmp dword [ebp - 0x38], ebx
mov eax, edi
jne 0x4a4903
mov eax, ebx
mov dword [ebp - 0x26c], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a491b
push ebx
push ebx
push ebx
call dword [0xae0288]
lea ecx, [ebp - 0x14c]
call fcn.0040898e
lea ecx, [ebp - 0x11c]
call fcn.0040898e
inc dword [ebp - 0x28]
jmp 0x4a4717
lea ecx, [ebp - 0xa8]
call fcn.0040898e
jmp 0x4a6568
mov eax, dword [0xade540]
test al, 2
jne 0x4a49ce
or eax, 2
mov dword [0xade540], eax
mov dword [0xade520], ebx
mov dword [0xade524], ebx
push ebx
push ebx
call fcn.0040ae19
mov dword [0xade520], eax
mov dword [0xade528], ebx
mov dword [0xade530], ebx
mov dword [0xade53c], 0x3f800000
mov dword [ebp - 0x120], eax
mov dword [0xade52c], ebx
lea eax, [ebp - 0x120]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x220]
push eax
mov ecx, 0xade528
call fcn.0040abbe
mov dword [0xade534], 7
mov dword [0xade538], 8
push 0x4bfae1
call fcn.004a8ddd
pop ecx
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x30], 0x4b0ad8ea
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x30], 0xa0c
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], 0xbe3d
mov dword [ebp - 0x18], ebx
jmp 0x4a4a0a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x33c], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4a49f9
dec dword [ebp - 0x2c]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0x24], 0x831713b9
mov dword [ebp - 0x30], 0x61bab593
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0x33880e03
mov dword [ebp - 0x30], 0xe6bc044b
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x30], 0x21e0bec0
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18], ebx
jmp 0x4a4a67
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2d0], 0xa335c22c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4a4a56
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 6
jge 0x4a4be4
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x18], ebx
jmp 0x4a4a9d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3b4], 0x10aa43b2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x4a4a8c
cmp dword [ebp - 0x34], ebx
je 0x4a4b7e
mov dword [ebp - 0x18], 0x3811
cmp dword [ebp - 0x18], 0x3853
jle 0x4a4b26
push ebx
push ebx
push edi
push ebx
push ebx
call dword [0xae04b8]
mov ecx, ebx
mov dword [ebp - 0x38], ebx
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov eax, edi
cdq
idiv esi
mov edi, edx
and edi, ecx
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
inc ebx
cmp ebx, 0x2a84
jl 0x4a4adf
inc esi
cmp esi, 0x60d7
push 0
pop ebx
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
jl 0x4a4ad3
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x5e66
jl 0x4a4ad1
inc ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 0x789c
jl 0x4a4acc
xor edi, edi
inc edi
mov dword [ebp - 0x34], 7
mov dword [ebp - 4], 8
cmp dword [ebp - 0x18], 0x344b
jge 0x4a4b4c
mov edx, 0xacb4dc
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a4b75
mov dword [ebp - 0x34], 0x462751c7
jmp 0x4a4bdc
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xd39d9827
mov dword [ebp - 0x30], 0x4dbf0cf8
mov dword [ebp - 0x30], 0x4b748abb
mov dword [ebp - 0x30], 0xe2bf35dd
mov dword [ebp - 0x2c], 0xfffa
mov dword [ebp - 0x18], ebx
jmp 0x4a4bbe
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x394], 0xa7e9f21c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x4a4bad
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a4bd9
push ebx
push 0x197e
call dword [0xae0450]
dec dword [ebp - 0x2c]
inc dword [ebp - 0x24]
jmp 0x4a4a70
lea eax, [ebp - 0x60]
push eax
call fcn.004a667a
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], 0x62d5e48d
mov dword [ebp - 0x30], 0x83c8fc55
mov dword [ebp - 0x18], ebx
jmp 0x4a4c1a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a4c17
push ebx
push ebx
push ebx
call dword [fcn.00ae032c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xc
jle 0x4a4c05
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x4a4c31
cmp dword [ebp - 0x38], 0
jne 0x4a519c
mov dword [ebp - 0x28], 0x3f4f46db
mov dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
push 0xfffffffffffffff6
pop edx
jmp 0x4a4c82
mov dword [ebp - 0x28], ebx
jmp 0x4a4c5f
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x288], edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x4a4c52
mov dword [ebp - 0x28], ebx
jmp 0x4a4c79
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x288], ebx
jne 0x4a4c7f
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x4a4c6a
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jne 0x4a4c4d
lea eax, [ebp - 0x3a4]
push eax
mov dl, cl
mov ecx, dword [ebp - 0x60]
call fcn.0048d158
pop ecx
mov esi, eax
lea edi, [ebp - 0xd0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 4
lea ecx, [ebp - 0x204]
call fcn.004088bc
mov dword [ebp - 0x28], 0x32fe2236
mov dword [ebp - 0x18], ebx
jmp 0x4a4cd1
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x204]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x4a4cbe
mov dword [ebp - 0x28], 3
cmp dword [ebp - 0x28], ebx
jl 0x4a4d57
mov dword [ebp - 0x18], 0x5260417b
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x4a4d3d
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ebx
jl 0x4a4d23
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a4d1e
push 0x3ae
push ebx
call dword [0xae0370]
dec dword [ebp - 0x24]
jns 0x4a4d09
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a4d38
push ebx
push 0x1909
call dword [0xae02b8]
dec dword [ebp - 0x18]
jns 0x4a4cf6
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a4d52
push ebx
push 0x1ee3
call dword [0xae0068]
dec dword [ebp - 0x28]
jns 0x4a4ce3
lea ecx, [ebp - 0x204]
call fcn.0040898e
cmp byte [ebp + 0xc], 0
je 0x4a5199
cmp dword [ebp - 0xc8], 0
je 0x4a5199
mov dword [ebp - 0x28], 0x1bb3
cmp dword [ebp - 0x28], 0x1bc6
jle 0x4a4de1
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
cdq
idiv esi
mov esi, edx
mov dword [ebp - 0x2c], 0xce7
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
inc edi
cmp edi, 0x6f46
jl 0x4a4da3
dec esi
dec dword [ebp - 0x2c]
jne 0x4a4da1
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x6c1f
mov edi, dword [ebp - 0x18]
jl 0x4a4d93
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x3878
jl 0x4a4d8e
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x28], 0x1896
jge 0x4a4e00
mov edx, 0xacb500
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a4e26
xor edi, edi
inc edi
mov dword [ebp - 0x28], edi
push edi
lea ecx, [ebp - 0x10c]
call fcn.004088bc
mov dword [ebp - 0x2c], 0xb2455f99
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 0x27ad
cmp dword [ebp - 0x24], 0x288c
jle 0x4a4e7d
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov eax, ebx
or eax, esi
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
inc ebx
cmp ebx, 0x202d
jl 0x4a4e57
inc esi
cmp esi, 0x5fc1
push 0
pop ebx
jl 0x4a4e54
push edi
lea ecx, [ebp - 0x1dc]
call fcn.004088bc
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x24], 0x2780
jge 0x4a4ea8
mov edx, 0xacb550
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a4ed1
mov dword [ebp - 0x1c], ebx
jmp 0x4a4ee9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4a4ed6
mov dword [ebp - 0x1c], ebx
jmp 0x4a4f02
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1dc]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4a4ef3
mov dword [ebp - 0x28], 0x1d
cmp dword [ebp - 0x28], 3
je 0x4a5169
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x20], 0x81630907
mov dword [ebp - 0x18], 0xe74bb9c
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x44], 0xe3f992ce
mov dword [ebp - 0x18], ebx
jmp 0x4a4f42
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x4a4f38
mov dword [ebp - 0x70], ebx
cmp dword [ebp - 0x70], 8
jg 0x4a5036
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x40], 0x5639
cmp dword [ebp - 0x40], 0x58f3
jle 0x4a4fd1
push ebx
push ebx
push ebx
call dword [fcn.00ae032c]
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov edi, ebx
mov edx, eax
mov ecx, esi
sar edx, cl
mov dword [ebp - 0x4c], edx
mov eax, ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0x435f
xor eax, edx
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
mov eax, dword [ebp - 0x18]
add eax, edi
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x1c]
mov edx, dword [ebp - 0x4c]
jne 0x4a4f8f
inc edi
cmp edi, 0x5dd8
jl 0x4a4f83
inc esi
cmp esi, 0x5331
mov eax, dword [ebp - 0x24]
jl 0x4a4f78
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x6c31
jl 0x4a4f76
xor edi, edi
inc edi
cmp byte [ebp - 0x11], 0
je 0x4a4fe1
push ebx
push ebx
push ebx
push ebx
call dword [0xae0364]
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x40], 0x55d5
jge 0x4a5000
mov edx, 0xacb568
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a5029
cmp dword [ebp - 0x28], ebx
jne 0x4a5036
inc dword [ebp - 0x70]
jmp 0x4a4f4b
mov ecx, dword [ebp - 0x74]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x10c]
mov dword [eax], ecx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x40]
sub edx, 0x5a12
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x10c]
mov dword [eax], edx
test edx, edx
je 0x4a508c
mov dword [ebp - 0x78], edi
cmp dword [ebp - 0x70], ebx
je 0x4a508f
mov eax, edi
jmp 0x4a5091
mov dword [ebp - 0x78], ebx
mov eax, ebx
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x20]
cmp edx, eax
setg cl
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
inc edx
add edx, 4
mov dword [ebp - 0x18], edx
je 0x4a50e6
mov dword [ebp - 0x18], 0xfffffff3
jmp 0x4a50de
mov dword [ebp - 0x74], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xd
jg 0x4a50d4
jmp 0x4a5161
mov dword [ebp - 0x40], 0x40de
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0xfffffffb
setg cl
cmp ecx, 0xffff
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setg dl
mov eax, dword [ebp - 0x1dc]
sub edx, dword [eax]
jne 0x4a5123
cmp dword [ebp - 0x34], ebx
je 0x4a5126
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
lea eax, [edx - 9]
cmp ecx, eax
jl 0x4a5143
test edx, edx
mov eax, ebx
je 0x4a5145
mov eax, edi
mov ecx, dword [ebp - 0x28]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x74]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0x44]
sub edx, eax
mov dword [ebp - 0x7c], edx
dec dword [ebp - 0x28]
jmp 0x4a4f0e
lea ecx, [ebp - 0x1dc]
call fcn.0040898e
lea ecx, [ebp - 0x10c]
call fcn.0040898e
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], eax
jmp 0x4a519c
xor edi, edi
inc edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], 0x795a
cmp dword [ebp - 0x24], 0x7cb1
jle 0x4a5219
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x4c], 0x6ef0
cdq
push edx
push eax
lea ecx, [ebp - 0x2c4]
call fcn.00401a68
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a51d8
mov eax, dword [eax]
push eax
call fcn.004a8e07
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2c4]
call fcn.00408e6a
mov eax, dword [ebp - 0x40]
add eax, esi
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x4c]
jne 0x4a51c0
inc esi
cmp esi, 0x42c4
mov eax, dword [ebp - 0x2c]
jl 0x4a51b6
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x3707
jl 0x4a51b4
push ebx
push ebx
push ebx
call dword [0xae039c]
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x24], 0x76fc
jge 0x4a5234
push 0xacb59c
call fcn.004a8e07
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a525d
mov dword [ebp - 0x18], ebx
jmp 0x4a5273
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x294], 0x4039
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4a5262
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a528e
push ebx
push 0x1022
call dword [0xae0428]
mov dword [ebp - 0x18], ebx
jmp 0x4a52ab
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a52a8
push ebx
push 0x1c39
call dword [0xae0424]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x4a5293
cmp dword [ebp - 0x38], 0
jne 0x4a604d
cmp dword [ebp - 0xd0], 0
jle 0x4a604d
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x1c], ebx
jmp 0x4a5461
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x18], 0x74bf90ed
push 3
lea ecx, [ebp - 0x1f8]
call fcn.004088bc
mov dword [ebp - 0x18], ebx
jmp 0x4a530a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1f8]
mov dword [eax + ecx*4], 0x85c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4a52f7
mov dword [ebp - 0x24], 0xe
jmp 0x4a5449
mov dword [ebp - 0x18], 0xe6da504
mov dword [ebp - 0x18], ebx
jmp 0x4a543c
mov dword [ebp - 0x20], 0xa420452a
cmp dword [ebp - 0x20], ebx
je 0x4a535a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a53f3
push ebx
push 0x21c7
push 0x17b7
call dword [0xae0520]
jmp 0x4a53f3
mov dword [ebp - 0x34], 5
push 3
lea ecx, [ebp - 0x1c4]
call fcn.004088bc
mov dword [ebp - 0x28], ebx
jmp 0x4a5386
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c4]
mov dword [eax + ecx*4], 0xfd5d7051
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x4a5373
mov dword [ebp - 0x20], ebx
jmp 0x4a53d5
push 2
lea ecx, [ebp - 0x1ac]
call fcn.004088bc
mov dword [ebp - 0x28], ebx
jmp 0x4a53b6
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1ac]
mov dword [eax + ecx*4], 0xfa32
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x4a53a3
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1ac]
mov dword [eax], ecx
lea ecx, [ebp - 0x1ac]
call fcn.0040898e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x4a5391
mov eax, dword [ebp - 0x1c4]
mov dword [eax + 4], 0x1f145ba1
lea ecx, [ebp - 0x1c4]
call fcn.0040898e
mov dword [ebp - 0x20], ebx
jmp 0x4a5433
push edi
lea ecx, [ebp - 0x194]
call fcn.004088bc
mov dword [ebp - 0x28], ebx
jmp 0x4a5418
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x194]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x4a5409
mov eax, dword [ebp - 0x194]
inc dword [eax]
lea ecx, [ebp - 0x194]
call fcn.0040898e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x4a53f8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x4a532b
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff8
je 0x4a531c
lea ecx, [ebp - 0x1f8]
call fcn.0040898e
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff0
je 0x4a52d7
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 eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], 0x554f
cmp dword [ebp - 0x40], 0x58b6
jle 0x4a54b9
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
inc edi
cmp edi, 0x4e65
jl 0x4a5494
inc esi
cmp esi, 0x764c
jl 0x4a5492
xor edi, edi
inc edi
push 3
lea ecx, [ebp - 0x6c]
call fcn.004088bc
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x40], 0x51f7
jge 0x4a54e2
mov edx, 0xacb5b8
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a550b
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x128], 0xfffffffd
mov dword [ebp - 0x20], ebx
jmp 0x4a5538
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0xff0ea75c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x4a5528
mov dword [ebp - 0x20], ebx
jmp 0x4a5554
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1ec], 0x8140a971
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x4a5543
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x4a5aa7
mov dword [ebp - 0x18], 0xae3d4752
mov dword [ebp - 0x28], 0x3c5a4a10
push edi
lea ecx, [ebp - 0x1a0]
call fcn.004088bc
mov dword [ebp - 0x40], 0x2347
cmp dword [ebp - 0x40], 0x2429
jle 0x4a55ed
push ebx
push 0x1f5b
push ebx
call dword [0xae03b8]
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
add eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x2e8]
call fcn.00401a68
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a55c2
mov eax, dword [eax]
push eax
call fcn.004a8e07
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2e8]
call fcn.00408e6a
inc esi
cmp esi, 0x78e9
mov eax, dword [ebp - 0x2c]
jl 0x4a55a8
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x1a0d
jl 0x4a55a6
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x40], 0x2266
jge 0x4a5608
push 0xacb5e0
call fcn.004a8e07
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a5631
mov dword [ebp - 0x20], ebx
jmp 0x4a5645
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1a0]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x4a5636
mov dword [ebp - 0x20], ebx
jmp 0x4a5660
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xe4], 0xc1f20cf6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x4a564f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x6c]
cmp dword [eax + ecx*4], 0x900b
setle dl
xor eax, eax
cmp edx, 0xfffffffe
setl al
cmp eax, dword [ebp - 0x18]
jle 0x4a569a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
cmp dword [eax + ecx*4], ebx
mov edx, edi
jne 0x4a569c
mov edx, ebx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
sub edx, dword [eax + ecx*4]
cmp edx, dword [ebp - 0x18]
jne 0x4a56ad
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x6c]
cmp dword [ecx + eax*4], ebx
push 0
pop eax
setle al
dec eax
imul eax, dword [ecx + edx*4]
test eax, eax
jne 0x4a56d5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
cmp dword [eax + ecx*4], ebx
mov esi, ebx
je 0x4a56d7
mov esi, edi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp esi, 0xfff9
setne dl
mov eax, dword [ebp - 0x6c]
sub edx, dword [eax + ecx*4]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx + eax*4]
imul edx, dword [ecx]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x1e8], ecx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x34]
cmp esi, dword [eax + ecx*4]
setne dl
xor eax, eax
cmp edx, 0x7d65
setg al
neg eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1e0], 4
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x6c]
cmp dword [eax + edx*4], ecx
push 0
pop edx
sete dl
sub edx, dword [eax + esi*4]
add edx, 4
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
imul eax, ecx, 0xfffa
test eax, eax
jne 0x4a5789
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x6c]
cmp dword [ecx + eax*4], ebx
jne 0x4a578c
mov edx, ebx
jmp 0x4a578e
mov ecx, dword [ebp - 0x6c]
mov edx, edi
xor eax, eax
cmp edx, dword [ecx + 8]
setge al
xor ecx, ecx
test eax, eax
sets cl
mov eax, dword [ebp - 0x128]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [ebp - 0x1a0]
imul edx, dword [eax]
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, 0x395cc9e5
jg 0x4a57fc
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a57e9
push 0x1392
push ebx
push 0xb59
push ebx
push ebx
push 0xca1
call dword [fcn.00ae02cc]
lea ecx, [ebp - 0x1a0]
call fcn.0040898e
dec dword [ebp - 0x1c]
jmp 0x4a5561
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x4a57e9
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x34], 0x5b34
cmp dword [ebp - 0x34], 0x5f1b
jle 0x4a58a0
lea ecx, [ebp - 0x6c]
call fcn.0040898e
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x58], eax
push 4
lea ecx, [ebp - 0x1b8]
call fcn.004088bc
push 2
lea ecx, [ebp - 0x164]
call fcn.004088bc
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x4a5af1
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1b8]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x4a5ade
mov dword [ebp - 0x44], 0x40a6
cmp dword [ebp - 0x44], 0x4235
jle 0x4a5b74
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov ecx, esi
sar eax, cl
mov dword [ebp - 0x54], eax
mov esi, ebx
xor eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x354]
call fcn.00401a68
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a5b37
mov eax, dword [eax]
push eax
call fcn.004a8e07
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x354]
call fcn.00408e6a
inc esi
cmp esi, 0x6e4f
mov eax, dword [ebp - 0x54]
jl 0x4a5b1d
mov esi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x3e73
mov eax, dword [ebp - 0x2c]
jl 0x4a5b11
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x70b2
jl 0x4a5b0c
mov dword [ebp - 0x20], ebx
jmp 0x4a5b8c
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x164]
mov dword [eax + ecx*4], 0xcb51dba3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x4a5b79
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x44], 0x4077
jge 0x4a5bad
push 0xacb730
call fcn.004a8e07
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a5bd6
mov edx, 0x47dfa860
mov ecx, dword [ebp - 0x1b8]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x164]
mov dword [eax], edx
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x164]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x164]
call fcn.0040898e
lea ecx, [ebp - 0x1b8]
call fcn.0040898e
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0x28], esi
push 3
lea ecx, [ebp - 0xb4]
call fcn.004088bc
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x30], 0xdc10
mov dword [ebp - 0x20], ebx
jmp 0x4a5c4f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0xb58e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x4a5c3c
mov dword [ebp - 0x20], ebx
jmp 0x4a5c6b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x278], 0xfffffffb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x4a5c5a
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jne 0x4a5ebb
mov dword [ebp - 0x24], 0xfd3df75d
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x24], 0xffffffe8
jmp 0x4a6081
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a6077
push ebx
push ebx
push ebx
push ebx
call dword [fcn.00ae0390]
mov dword [ebp - 0x30], 5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
jne 0x4a6064
lea ecx, [ebp - 0xd0]
call fcn.0049bda2
push 4
lea ecx, [ebp - 0x100]
call fcn.004088bc
movdqa xmm0, xmmword [0xacb8e0]
movdqu xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x230]
push eax
push ebx
lea ecx, [ebp - 0xf0]
call fcn.0040b910
mov dword [ebp - 0x24], ebx
jmp 0x4a60f6
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0x7fd5464b
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x4a60e3
mov esi, dword [ebp - 0x100]
cmp dword [esi + 4], ebx
je 0x4a618d
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x24], 0xffffffee
cmp dword [ebp - 0x24], 0x12
je 0x4a628a
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x34], 0x2af0488f
mov eax, dword [esi + 4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x44]
jg 0x4a614c
mov eax, dword [ebp - 0x100]
cmp dword [eax], ebx
mov eax, edi
jne 0x4a614e
mov eax, ebx
xor edx, edx
cmp eax, edi
setle dl
add edx, dword [ecx + 8]
mov ecx, dword [ebp - 0x44]
sub ecx, dword [esi + 4]
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp ecx, edx
setne al
mov ecx, 0xf2b29949
cmp ecx, eax
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0xf0]
mov dword [eax], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x12
mov ecx, dword [ebp - 0x30]
jne 0x4a6128
jmp 0x4a628a
mov dword [ebp - 0x40], 0x5b3b
cmp dword [ebp - 0x40], 0x5da1
jle 0x4a61fb
mov edi, ebx
mov dword [ebp - 0x44], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x30], edi
mov ecx, esi
mov esi, edi
sar esi, cl
mov edi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
inc edi
cmp edi, 0x7071
jl 0x4a61b5
mov esi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x24d1
mov edi, dword [ebp - 0x44]
jl 0x4a61a7
inc edi
mov dword [ebp - 0x44], edi
cmp edi, 0x4c04
jl 0x4a61a2
push 0x779
call dword [0xae04f4]
xor edi, edi
inc edi
mov dword [ebp - 0x18], 0x3ca955a
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x40], 0x5809
jge 0x4a6221
mov edx, 0xacb7c0
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a624a
mov dword [ebp - 0x18], 0xffffffe5
jmp 0x4a6284
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x18], ebx
jne 0x4a628a
mov dword [ebp - 0x24], 9
jmp 0x4a627b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a6278
push 0x2de
call dword [0xae004c]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff7
jne 0x4a6264
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe4
jge 0x4a6253
lea ecx, [ebp - 0xf0]
call fcn.0040898e
lea ecx, [ebp - 0x100]
call fcn.0040898e
cmp dword [ebp - 0x3c], 0
jne 0x4a6568
cmp dword [ebp - 0x38], 0
je 0x4a6568
mov dword [ebp - 0x18], 0x2c03342e
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0x895c4b79
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xffffffe7
jle 0x4a63fc
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xffffffee
jl 0x4a63f4
mov dword [ebp - 0x24], 0x97b09b37
mov dword [ebp - 0x44], 0xffffffff
cmp dword [ebp - 0x1c], ebx
jne 0x4a63f4
mov dword [ebp - 0x40], 0x88a
cmp dword [ebp - 0x40], 0x92a
jle 0x4a6358
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], 0x30f
mov eax, ebx
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
add ebx, esi
dec dword [ebp - 0x34]
jne 0x4a6328
inc esi
cmp esi, 0x201a
push 0
pop ebx
jl 0x4a631e
inc edi
cmp edi, 0x2fa7
jl 0x4a631c
xor edi, edi
inc edi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setg dl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x40], 0x539
jge 0x4a63c3
mov edx, 0xacb7e8
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a63ec
dec dword [ebp - 0x1c]
jmp 0x4a62e9
dec dword [ebp - 0x18]
jmp 0x4a62ce
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a640c
push ebx
call dword [0xae0448]
push dword [ebp - 0x50]
push dword [ebp - 0x38]
call fcn.00451c6c
pop ecx
pop ecx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x24], 0x921d
mov dword [ebp - 0x50], 0x61bc
cmp dword [ebp - 0x50], 0x6430
jle 0x4a6460
mov esi, ebx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xadd238
call fcn.00408691
inc edi
cmp edi, 0x4892
jl 0x4a643a
inc esi
cmp esi, 0x1e8
jl 0x4a6438
xor edi, edi
inc edi
mov dword [ebp - 0x28], 0x44455595
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x50], 0x6023
jge 0x4a6486
mov edx, 0xacb840
mov ecx, 0xadd238
call fcn.0040af1a
or dword [ebp - 4], 0xffffffff
jmp 0x4a64af
push 2
lea ecx, [ebp - 0x188]
call fcn.004088bc
mov dword [ebp - 0x30], 0xf3f6
mov dword [ebp - 0x50], 0xff839e07
mov dword [ebp - 0x54], 0xf2c9a130
mov dword [ebp - 0x38], ebx
jmp 0x4a64e6
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x188]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x4a64d6
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x24]
je 0x4a64f7
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
sub eax, 0xcdb8faaa
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], 0xfffffffa
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp eax, ecx
setne dl
cmp edx, 3
sbb eax, eax
neg eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x28], ebx
jmp 0x4a6547
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a6544
call dword [0xae025c]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x4a6535
lea ecx, [ebp - 0x188]
call fcn.0040898e
lea eax, [ebp - 0x80]
push eax
call fcn.004a6618
mov ecx, dword [ebp - 0xc0]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0xc0]
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