Function at 0x420b63
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4bef09
call fcn.004be948
sub esp, 0x344
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x58], ecx
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x148]
call fcn.0040a30e
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x34], 0x7b71
xor ebx, ebx
cmp dword [ebp - 0x34], 0x7bfd
jle 0x420c2b
push ebx
push 0x26ee
push 0x1047
push 0x1f19
call dword [0xaab138]
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x44], ebx
mov edx, edi
mov ecx, eax
shl edx, cl
mov dword [ebp - 0x3c], edx
mov edi, ebx
mov eax, edx
xor eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x28c]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x420bee
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x28c]
call fcn.0040a8ad
inc edi
cmp edi, 0x46d2
mov edx, dword [ebp - 0x3c]
jl 0x420bd2
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, 0x30b7
mov edi, dword [ebp - 0x24]
jl 0x420bc7
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x140
jl 0x420bc2
mov dword [ebp - 0x28], ebx
jmp 0x420c43
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x5b57fd54
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x420c30
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x34], 0x781e
jge 0x420c5f
push 0xa87010
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x420c85
mov dword [ebp - 0x1c], ebx
jmp 0x420d03
mov dword [ebp - 0x30], 0x81f3403c
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov esi, dword [ebp - 0x148]
cmp dword [esi + eax*4], 0x368a
setg cl
xor eax, eax
cmp ecx, dword [esi]
setge al
imul edx, eax, 0xfffffff7
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp dword [esi + edi*4], eax
setne cl
xor eax, eax
cmp ecx, edx
setl al
xor ecx, ecx
cmp eax, 0xe49a
setg cl
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
sete dl
sub edx, 0x63a74adf
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x3c], edx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x420d00
push ebx
call dword [fcn.00aab054]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x420c8a
lea ecx, [ebp - 0x148]
call fcn.0040a3e0
mov dword [ebp - 0x28], 0x1029
cmp dword [ebp - 0x28], 0x125b
jle 0x420d88
call dword [0xaab2d0]
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], 0x2c48
mov edi, ebx
mov dword [ebp - 0x44], edi
mov ebx, dword [ebp - 0x24]
mov esi, edi
mov edi, 0xf81
mov eax, ebx
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
dec esi
dec edi
jne 0x420d47
mov edi, dword [ebp - 0x44]
inc edi
mov dword [ebp - 0x44], edi
cmp edi, 0x1b32
jl 0x420d40
dec ebx
mov dword [ebp - 0x24], ebx
dec dword [ebp - 0x34]
push 0
pop ebx
jne 0x420d38
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x4092
jl 0x420d2e
xor edi, edi
inc edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], 2
cmp dword [ebp - 0x28], 0xf4b
jge 0x420dad
mov edx, 0xa87068
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x420dd6
mov dword [ebp - 0x30], 0xa421e0be
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x44], 0xfffffffc
mov dword [ebp - 0x40], 0xffffffff
push edi
lea ecx, [ebp - 0x184]
call fcn.0040a30e
mov dword [ebp - 0x3c], 0xfeea3821
mov dword [ebp - 0x14], 0xb6ea1325
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x48], 0xde45
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x28], ebx
jmp 0x420e4d
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 0x7a30b913
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x420e3a
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, edi
setge cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], 0xfce3badf
mov eax, dword [ebp - 0x184]
mov esi, dword [eax]
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, esi
setne al
xor edx, edx
cmp eax, esi
setne dl
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x184]
call fcn.0040a3e0
mov eax, dword [0xaa9530]
test al, 1
jne 0x420f46
or eax, edi
mov dword [0xaa9530], eax
mov dword [0xaa94f0], ebx
mov dword [0xaa94f4], ebx
push ebx
push ebx
call fcn.0040c96d
mov dword [0xaa94f0], eax
mov dword [0xaa94f8], ebx
mov dword [0xaa9500], ebx
mov dword [0xaa950c], 0x3f800000
mov dword [ebp - 0xe4], eax
mov dword [0xaa94fc], ebx
lea eax, [ebp - 0xe4]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1d8]
push eax
mov ecx, 0xaa94f8
call fcn.0040c6a3
mov dword [0xaa9504], 7
mov dword [0xaa9508], 8
push 0x4bfd66
call fcn.004a917d
pop ecx
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x1c], 8
mov eax, 0xb0d69b45
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x28], ebx
jmp 0x420f8e
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x54], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x420f80
mov dword [ebp - 0x20], 0x13
jmp 0x421090
push edi
lea ecx, [ebp - 0xdc]
call fcn.0040a30e
mov dword [ebp - 0x28], ebx
jmp 0x420fc3
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0x934f
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x420fb0
mov eax, dword [ebp - 0xdc]
cmp dword [eax], 0x6b6f
jg 0x420fe4
cmp dword [eax], 0
jne 0x420fe4
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xdc]
cmp dword [eax], 0x53494abc
jne 0x420fef
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
sub edx, 0x26c4
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x421082
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54], ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x1a8]
xor ecx, ecx
mov eax, dword [ebp - 0xdc]
cmp dword [eax], edi
setne cl
imul eax, ecx, 0x9586
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
mov byte [ebp - 0x15], bl
je 0x42106b
cmp byte [ebp - 0x15], 0
je 0x42107d
push 0x1918
push ebx
push ebx
call dword [fcn.00aab380]
jmp 0x42107d
cmp byte [ebp - 0x15], 0
je 0x421078
push ebx
call dword [fcn.00aab37c]
cmp dword [ebp - 0x30], ebx
jne 0x421082
dec dword [ebp - 0x1c]
jns 0x421010
lea ecx, [ebp - 0xdc]
call fcn.0040a3e0
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe3
je 0x420f9f
imul eax, dword [ebp - 0x58], 0x2710
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x38], 0xe57b
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x2c], 0xe885dc1b
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x3c], 0x8c534832
mov dword [ebp - 0x48], 0xc2a7322e
mov dword [ebp - 0x44], 0xfff9
push 3
lea ecx, [ebp - 0x100]
call fcn.0040a30e
mov dword [ebp - 0x14], ebx
jmp 0x421100
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4210ed
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jne 0x42115d
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
neg eax
xor ecx, ecx
cmp ecx, eax
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setl dl
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp dword [ebp - 0x30], eax
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], eax
jg 0x4211ec
mov dword [ebp - 0x14], 0xa955
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
sub ecx, 0x8cbf
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 8
setne al
xor edx, edx
cmp eax, 0x9e864adb
setne dl
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, edx
setne cl
xor edx, edx
cmp ecx, 0x11140ae7
setl dl
mov eax, dword [ebp - 0x28]
sub eax, edx
sub eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jge 0x4211c8
cmp dword [ebp - 0x14], ebx
mov edx, ebx
je 0x4211ca
mov edx, edi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setge cl
mov eax, dword [ebp - 0x20]
sub eax, ecx
sub eax, 2
add eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
jmp 0x421290
mov dword [ebp - 0x34], 0xd56b
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], 0xad93
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x38]
imul edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setge cl
mov eax, dword [ebp - 0x2c]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x42122d
cmp dword [ebp - 0x1c], ebx
mov ecx, edi
jne 0x42122f
mov ecx, ebx
xor eax, eax
cmp ecx, 2
setle al
imul eax, eax, 0xfff7
test eax, eax
je 0x421244
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], 0xfffffffb
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, edi
setg dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x44]
test ecx, ecx
jne 0x42127d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp eax, ecx
setge dl
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x4212bf
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x100]
cmp dword [eax + ecx*4], ebx
jne 0x4212bf
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0xfffffff6
dec dword [ebp - 0x1c]
jns 0x42129c
lea ecx, [ebp - 0x100]
call fcn.0040a3e0
lea eax, [ebp - 0x6c]
push eax
call fcn.0042351d
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
push 2
lea ecx, [ebp - 0x19c]
call fcn.0040a30e
mov dword [ebp - 0x14], ebx
jmp 0x4212fd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], 0x13b91020
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4212ea
mov eax, dword [ebp - 0x19c]
mov dword [eax], ebx
lea ecx, [ebp - 0x19c]
call fcn.0040a3e0
cmp dword [ebp - 0x44], 0
je 0x4217d9
mov dword [ebp - 0x2c], 0x1560
cmp dword [ebp - 0x2c], 0x162c
jle 0x421382
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, esi
cdq
idiv ecx
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x2e0]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x421356
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2e0]
call fcn.0040a8ad
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x5db2
jl 0x421337
inc esi
cmp esi, 0x3cd0
jl 0x421332
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], 0xbacd7953
push edi
lea ecx, [ebp - 0x1fc]
call fcn.0040a30e
mov dword [ebp - 0x14], ebx
jmp 0x4213b0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1fc]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x42139d
mov dword [ebp - 0x14], 0x7454
cmp dword [ebp - 0x14], 0x764d
jle 0x421432
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x4c], ebx
mov ecx, esi
sar eax, cl
mov dword [ebp - 0x30], eax
mov esi, ebx
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x244]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4213f5
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x244]
call fcn.0040a8ad
inc esi
cmp esi, 0x4de4
mov eax, dword [ebp - 0x30]
jl 0x4213db
mov esi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x7916
mov eax, dword [ebp - 0x24]
jl 0x4213cf
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x3820
jl 0x4213ca
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], ebx
je 0x42145d
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x421496
push 0x8a8
call dword [0xaab120]
jmp 0x421496
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], ebx
jl 0x421496
mov dword [ebp - 0x20], ebx
jmp 0x42147b
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x4c], 4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x42146a
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x421491
push ebx
push ebx
call dword [0xaab354]
dec dword [ebp - 0x28]
jns 0x421465
mov dword [ebp - 4], 4
cmp dword [ebp - 0x14], 0x7444
jge 0x4214b1
push 0xa87130
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4214da
lea ecx, [ebp - 0x1fc]
call fcn.0040a3e0
mov dword [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x13a8
jge 0x421500
push 0xa870e8
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x421529
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x44], 0x4c59
cmp dword [ebp - 0x44], 0x5009
jle 0x42156c
mov esi, ebx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
inc edi
cmp edi, 0x5fde
jl 0x421546
inc esi
cmp esi, 0x331c
jl 0x421544
xor edi, edi
inc edi
mov dword [ebp - 4], 8
cmp dword [ebp - 0x44], 0x4909
jge 0x42158b
mov edx, 0xa871c8
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x4215b4
mov dword [ebp - 0x1c], 0x4f833fcb
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x1c], ebx
jmp 0x4215d4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x68], 8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4215c6
mov dword [ebp - 0x1c], ebx
jmp 0x4215ef
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x224], 0xb96bc97
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4215de
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x421626
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x421621
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x42161c
push ebx
call dword [0xaab564]
dec dword [ebp - 0x14]
jns 0x42160c
dec dword [ebp - 0x1c]
jns 0x4215fd
mov dword [ebp - 0x1c], 0x1a
cmp dword [ebp - 0x1c], 0xfffffff4
je 0x42341e
mov eax, 0xcf30
push 5
pop ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x4c], edi
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x20], 0x18
cmp dword [ebp - 0x20], 0xffffffea
jle 0x4217c2
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x14], 0xa219909d
mov dword [ebp - 0x2c], ebx
jmp 0x4217a8
mov dword [ebp - 0x38], 0x4f4e7975
mov dword [ebp - 0x38], ebx
jmp 0x421738
mov dword [ebp - 0x4c], 0xfffffff9
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setne dl
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x94]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x4c]
sub esi, eax
xor edx, edx
cmp ecx, esi
setl dl
mov eax, dword [ebp - 0x98]
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x4c], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jle 0x4216b7
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x4217a2
cmp dword [ebp - 0x98], ebx
je 0x4217a2
cmp dword [ebp - 0x8c], edi
je 0x421767
cmp dword [ebp - 0x68], ebx
mov eax, edi
jne 0x421769
mov eax, ebx
xor ecx, ecx
cmp eax, edi
setl cl
mov dword [ebp - 0x224], ecx
xor eax, eax
cmp ecx, edi
setle al
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x421788
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0x9043
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x4c], edi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x19
jne 0x4216a8
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffea
jg 0x421692
push 5
pop ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff4
mov eax, 0xcf30
jne 0x42163f
jmp 0x42341e
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x4217f6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x218], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4217e5
mov dword [ebp - 0x2c], 2
cmp dword [ebp - 0x2c], ebx
jl 0x4218e7
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4218df
mov dword [ebp - 0x34], 0x6d06
cmp dword [ebp - 0x34], 0x706c
jle 0x421890
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov ebx, dword [ebp - 0x24]
lea edi, [esi + ebx]
add edi, eax
mov ebx, 0x7b7c
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
inc edi
dec ebx
jne 0x421840
inc esi
cmp esi, 0x75dc
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
jl 0x421836
inc ebx
mov dword [ebp - 0x24], ebx
cmp ebx, 0xfa4
push 0
pop ebx
jl 0x421831
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x6808
jl 0x42182e
push 0x15c0
push 0x1e7
push ebx
call dword [0xaab534]
xor edi, edi
inc edi
push ebx
call dword [0xaab2cc]
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x34], 0x6ce7
jge 0x4218b6
mov edx, 0xa87220
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x4218df
dec dword [ebp - 0x2c]
jmp 0x421803
mov dword [ebp - 0x2c], ebx
jmp 0x421912
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x28], ebx
jmp 0x421909
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x218], 0x2fde2bbe
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x4218f8
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x17
jg 0x4218ec
mov eax, dword [0xaa9530]
test al, 2
jne 0x42199d
or eax, 2
mov dword [0xaa9530], eax
mov dword [0xaa9510], ebx
mov dword [0xaa9514], ebx
push ebx
push ebx
call fcn.0040c96d
mov dword [0xaa9510], eax
mov dword [0xaa9518], ebx
mov dword [0xaa9520], ebx
mov dword [0xaa952c], 0x3f800000
mov dword [ebp - 0xf4], eax
mov dword [0xaa951c], ebx
lea eax, [ebp - 0xf4]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1e4]
push eax
mov ecx, 0xaa9518
call fcn.0040c6a3
mov dword [0xaa9524], 7
mov dword [0xaa9528], 8
push 0x4bfd61
call fcn.004a917d
pop ecx
push 2
lea ecx, [ebp - 0xc4]
call fcn.0040a30e
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x14], ebx
jmp 0x4219c5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4219b6
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], edi
jg 0x421a67
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], 0xf90a2337
mov dword [ebp - 0x14], ebx
jmp 0x4219fd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1e0], 0x2a149cec
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4219ec
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x20]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0xc4]
sub edx, dword [ecx + eax*4]
neg edx
sbb edx, edx
inc edx
cmp dword [ecx + esi*4], edx
push 0
pop ecx
setge cl
mov eax, dword [ebp - 0x1dc]
sub ecx, eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + edi*4], ecx
mov dword [ebp - 0x28], ebx
jmp 0x421a4f
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 0x47adf1ad
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x421a3c
inc dword [ebp - 0x20]
xor edi, edi
inc edi
cmp dword [ebp - 0x20], edi
mov ecx, dword [ebp - 0x30]
jle 0x4219e0
lea ecx, [ebp - 0xc4]
call fcn.0040a3e0
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x28], 0xfff6
mov dword [ebp - 0x30], 0xfffffff7
cmp dword [ebp - 0x28], ebx
je 0x421abe
mov dword [ebp - 0x28], ebx
jmp 0x421ab6
mov dword [ebp - 0x14], ebx
jmp 0x421aa4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1c0], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x421a97
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 8
jne 0x421a92
jmp 0x421ace
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x421ace
push ebx
call dword [0xaab2fc]
lea eax, [ebp - 0x58]
push eax
call fcn.0042357f
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0xb26bdde0
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x19e9
cmp dword [ebp - 0x20], 0x1d93
jle 0x421b7f
mov edx, ebx
mov dword [ebp - 0x14], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov ecx, esi
sar eax, cl
mov dword [ebp - 0x3c], eax
mov esi, ebx
mov ecx, esi
sar eax, cl
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x328]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x421b33
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x328]
call fcn.0040a8ad
inc esi
cmp esi, 0x62f7
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
jl 0x421b15
mov esi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x2bef
mov eax, dword [ebp - 0x24]
jl 0x421b09
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x26b6
jl 0x421b04
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x719f
jl 0x421aff
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x20], 0x18ad
jge 0x421b9a
push 0xa872a0
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x421bc3
mov dword [ebp - 0x14], ebx
jmp 0x421bd9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xec], 0x6feb9e9d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x421bc8
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xfffffffe
je 0x421d31
push 3
lea ecx, [ebp - 0x190]
call fcn.0040a30e
mov dword [ebp - 0x30], 0x5f88e10e
mov dword [ebp - 0x2c], 0x78e7
cmp dword [ebp - 0x2c], 0x79b4
jle 0x421c70
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ecx
mov eax, edi
cdq
idiv esi
mov esi, edx
lea edi, [esi + ecx]
mov ebx, 0x3d72
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
dec edi
dec ebx
jne 0x421c2d
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x6a74
jl 0x421c25
mov esi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x36a0
mov edi, dword [ebp - 0x14]
jl 0x421c19
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x984
jl 0x421c14
xor edi, edi
inc edi
mov dword [ebp - 0x14], ebx
jmp 0x421c84
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x190]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x421c75
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x2c], 0x7643
jge 0x421ca9
mov edx, 0xa87308
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x421cd2
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0xfffffff6
setl cl
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xec], 9
xor eax, eax
cmp dword [edx + 8], 9
sete al
xor ecx, ecx
cmp eax, 4
setne cl
cmp ecx, dword [ebp - 0x20]
jne 0x421d13
cmp dword [edx + 8], ebx
mov eax, ebx
je 0x421d15
mov eax, edi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], edi
lea ecx, [ebp - 0x190]
call fcn.0040a3e0
dec dword [ebp - 0x20]
jmp 0x421be1
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x421d45
push 0x1728
call dword [0xaab518]
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x421d56
cmp dword [ebp - 0x28], 0
jne 0x421e8e
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], ebx
jmp 0x421d6f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf0], 0x9714
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x421d5e
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jg 0x421da7
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x421d9c
push ebx
push ebx
push 0x4da
push 0x16ad
push 0x190b
call dword [0xaab504]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x421d7c
mov cl, byte [ebp + 0xc]
mov dword [ebp - 0x1c], ebx
jmp 0x421dbb
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xf0], ebx
jne 0x421dc0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x421dac
lea eax, [ebp - 0x350]
push eax
mov dl, cl
mov ecx, dword [ebp - 0x58]
call fcn.0040da7e
pop ecx
mov esi, eax
lea edi, [ebp - 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp byte [ebp + 0xc], 0
je 0x421e8b
cmp dword [ebp - 0x74], 0
je 0x421e8b
push 3
lea ecx, [ebp - 0x118]
call fcn.0040a30e
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x30], 0x1145
mov dword [ebp - 0x14], ebx
jmp 0x421e25
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x118]
mov dword [eax + ecx*4], 0xcff0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x421e12
mov dword [ebp - 0x1c], ebx
jmp 0x421e42
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
mov eax, dword [ebp - 0x1c]
jle 0x421e30
xor ecx, ecx
mov eax, dword [ebp - 0x118]
cmp dword [eax], 0xd21f1eb4
setle cl
cmp ecx, 0xfffd
jne 0x421e67
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x118]
call fcn.0040a3e0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xb0], eax
xor edi, edi
inc edi
movdqa xmm0, xmmword [0xa96650]
movdqu xmmword [ebp - 0x20c], xmm0
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x104], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x20c]
push eax
push ebx
lea ecx, [ebp - 0x10c]
call fcn.0040d081
mov dword [ebp - 0x14], 0x7410
cmp dword [ebp - 0x14], 0x75d5
jle 0x421f39
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp - 0x24]
mov eax, esi
cdq
idiv ecx
xor edx, edi
xor edx, ebx
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x1d8c
jl 0x421eec
inc esi
cmp esi, 0x7c89
push 0
pop ebx
jl 0x421ee4
inc edi
cmp edi, 0x3564
jl 0x421ee2
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x72f1
jl 0x421ee0
xor edi, edi
inc edi
mov dword [ebp - 0x2c], 0xe5ccc90a
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x14], 0x7248
jge 0x421f5f
mov edx, 0xa87380
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x421f88
mov dword [ebp - 0x2c], 3
cmp dword [ebp - 0x2c], ebx
jl 0x422027
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ebx
jmp 0x422018
push 3
lea ecx, [ebp - 0x124]
call fcn.0040a30e
mov dword [ebp - 0x14], ebx
jmp 0x421fc2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x421fb2
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x421fe3
push 0xf91
push ebx
push ebx
push 0xf3f
call dword [0xaab134]
mov eax, dword [ebp - 0x124]
mov dword [eax], ebx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x421ffd
push ebx
push ebx
push ebx
call dword [0xaab550]
mov eax, dword [ebp - 0x124]
inc dword [eax]
cmp dword [eax], 3
jle 0x421feb
lea ecx, [ebp - 0x124]
call fcn.0040a3e0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x421fa0
dec dword [ebp - 0x2c]
jns 0x421f98
lea ecx, [ebp - 0x10c]
call fcn.0040a3e0
cmp dword [ebp - 0x28], 0
jne 0x422ca2
cmp dword [ebp - 0x7c], 0
jle 0x422ca2
mov dword [ebp - 0x30], 0x13eca4f8
mov dword [ebp - 0x40], 0xbf34fda0
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x40], 0x876942a1
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x34], 0x613e
cmp dword [ebp - 0x34], 0x63c1
jle 0x4220de
mov edx, ebx
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov eax, esi
xor eax, ecx
xor eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x25c]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4220a3
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x25c]
call fcn.0040a8ad
inc esi
cmp esi, 0x15d5
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
jl 0x422085
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x3cdb
jl 0x422083
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x46b9
jl 0x42207e
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x34], 0x60a6
jge 0x422100
push 0xa873f8
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x422129
push edi
lea ecx, [ebp - 0x1b8]
call fcn.0040a30e
mov dword [ebp - 0x40], 0xc556
mov dword [ebp - 0x24], 0x132d683a
mov dword [ebp - 0x14], ebx
jmp 0x422158
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1b8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x422148
inc dword [ebp - 0x24]
mov dword [ebp - 0x14], 4
jmp 0x422179
mov dword [ebp - 0x3c], 0x1dba1dd7
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x16
jg 0x422169
lea ecx, [ebp - 0x1b8]
call fcn.0040a3e0
mov dword [ebp - 0x20], 0xe76f5020
mov dword [ebp - 0x30], 0x8787d636
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x34], 0xa2e712c5
mov dword [ebp - 0x24], 0x99843334
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x30], 0xfab8d232
mov dword [ebp - 0x14], ebx
jmp 0x4221d5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4221c7
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], ebx
jne 0x4221ed
cmp dword [ebp - 0x20], ebx
mov eax, ebx
je 0x4221ef
mov eax, edi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp eax, 0xfffffffe
setg cl
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x24], 0xffff
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x34]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x20], 0x42c70bb7
mov dword [ebp - 0x14], ebx
jmp 0x42225b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2b0], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42224a
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x422295
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x422290
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x42228b
call dword [fcn.00aab378]
dec dword [ebp - 0x14]
jns 0x42227c
dec dword [ebp - 0x20]
jns 0x42226d
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4222b1
push ebx
push ebx
push 0x22b
push 0x1106
push ebx
call dword [fcn.00aab4a8]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x24], 0x89ec0021
mov dword [ebp - 0x24], 0xb357f039
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ebx
jmp 0x4222de
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x4222d4
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0xffffffe2
jne 0x4224b0
mov dword [ebp - 0x20], 0x33843046
mov dword [ebp - 0x24], edi
push 4
lea ecx, [ebp - 0x160]
call fcn.0040a30e
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x38], 0x21ca
cmp dword [ebp - 0x38], 0x2599
jle 0x4223a4
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edx, esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x34], 0x1d24
mov esi, ebx
mov eax, esi
and eax, ecx
and eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x274]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x422354
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x274]
call fcn.0040a8ad
inc esi
cmp esi, 0x7428
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
jl 0x422336
dec edx
mov dword [ebp - 0x24], edx
dec dword [ebp - 0x34]
jne 0x422334
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x29df
jl 0x422328
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x72c1
jl 0x422323
push ebx
push edi
push ebx
call dword [0xaab328]
mov dword [ebp - 0x24], 0x8c5540ff
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x38], 0x1f1c
jge 0x4223c6
push 0xa87470
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4223ef
mov dword [ebp - 0x14], ebx
jmp 0x422403
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4223f4
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x422419
push ebx
call dword [0xaab2f0]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
sub eax, 0xc8d4
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x2c], ebx
je 0x42243f
mov dword [ebp - 0x64], edi
jmp 0x422442
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x24], edi
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, ecx
setl dl
imul edx, dword [ebp - 0x2c]
imul eax, edx, 0xfff6
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
xor ecx, ecx
cmp eax, 0xfffffff6
setne cl
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x160]
mov dword [eax], edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, ecx
setle dl
mov dword [ebp - 0x30], edx
lea ecx, [ebp - 0x160]
call fcn.0040a3e0
dec dword [ebp - 0x2c]
jmp 0x4222e6
mov dword [ebp - 0x24], 0x5863
cmp dword [ebp - 0x24], 0x5bc5
jle 0x4224ed
mov esi, ebx
mov edi, ebx
mov eax, esi
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
inc edi
cmp edi, 0x1c51
jl 0x4224c4
inc esi
cmp esi, 0x7005
jl 0x4224c2
xor edi, edi
inc edi
mov dword [ebp - 0x1c], 0x86e871d9
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x24], 0x55ff
jge 0x422513
mov edx, 0xa87498
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x42253c
mov dword [ebp - 0x30], 0xfe1ca29
mov dword [ebp - 0x30], 0x8067e307
mov dword [ebp - 0x2c], 0x869ec427
mov dword [ebp - 0x34], 0x2929
cmp dword [ebp - 0x34], 0x2a90
jle 0x4225ad
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
add eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x2a4]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x422582
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2a4]
call fcn.0040a8ad
inc esi
cmp esi, 0x695d
mov eax, dword [ebp - 0x24]
jl 0x422568
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0xbd1
jl 0x422566
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x34], 0x28a7
jge 0x4225c8
push 0xa87530
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4225f1
mov dword [ebp - 0x20], 0x73e7ed6f
mov dword [ebp - 0x14], ebx
jmp 0x42260e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe8], 0x5a1fa147
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x4225fd
cmp dword [ebp - 0x1c], ebx
jne 0x422624
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
test eax, eax
mov edx, ebx
je 0x422626
mov edx, edi
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x20]
add eax, 0xfff6
je 0x422659
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x30]
sub edx, eax
sub edx, 4
mov eax, edi
jne 0x42265b
mov eax, ebx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x78], 0
je 0x422ca2
cmp dword [ebp - 0x3c], 0
je 0x422ca2
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x28], 0x63e3
cmp dword [ebp - 0x28], 0x64a6
jle 0x422703
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x14], ebx
add eax, esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], 0x7923
mov esi, eax
mov eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x2c8]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4226c2
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2c8]
call fcn.0040a8ad
dec esi
dec dword [ebp - 0x34]
jne 0x4226a8
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x78e9
mov eax, dword [ebp - 0x24]
jl 0x42269a
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x5b79
jl 0x422695
push ebx
push ebx
push edi
push ebx
call dword [0xaab384]
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x28], 0x60c7
jge 0x422725
push 0xa875c0
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x42274e
mov dword [ebp - 0x40], 0xca3c47aa
mov dword [ebp - 0x40], 0x4abf0a64
push 3
lea ecx, [ebp - 0x1d4]
call fcn.0040a30e
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 0x14], 0x1ac2
cmp dword [ebp - 0x14], 0x1c64
jle 0x4227d1
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x3c], ebx
and esi, edi
mov dword [ebp - 0x30], esi
mov edi, esi
mov esi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
inc esi
cmp esi, 0x28b
jl 0x422796
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x1677
mov edi, dword [ebp - 0x34]
jl 0x42278a
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x7b19
jl 0x422785
xor edi, edi
inc edi
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x14], 0x1a74
jge 0x4227f0
mov edx, 0xa87640
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x422819
mov dword [ebp - 0x1c], ebx
jmp 0x42282f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x22c], 0x5d9c72
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42281e
mov dword [ebp - 0x1c], ebx
jmp 0x42284d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1d4]
mov dword [eax + ecx*4], 0x300a9e1a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42283a
mov dword [ebp - 0x1c], 0xffffffe4
jmp 0x4228b0
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x24], 0x95a9796
mov dword [ebp - 0x30], 0xae649f6d
mov dword [ebp - 0x40], 0x8cd908fb
mov dword [ebp - 0x1c], 0xfffffff1
jmp 0x422cf3
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x422cd9
push ebx
push ebx
push ebx
call dword [0xaab2c4]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x422cf0
push 0x66
push 0x42a
push ebx
call dword [0xaab51c]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xd
jl 0x422cc7
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
je 0x422d22
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
je 0x422d19
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov eax, edi
jne 0x422d1b
mov eax, ebx
cmp eax, dword [ebp - 0x1c]
mov ecx, edi
jle 0x422d24
mov ecx, ebx
xor eax, eax
cmp ecx, 0xa065c2dd
setne al
add eax, dword [ebp - 0x1c]
je 0x422f02
mov dword [ebp - 0x30], 0xb7a2e255
push edi
lea ecx, [ebp - 0x16c]
call fcn.0040a30e
mov dword [ebp - 0x50], 0x416da84b
mov dword [ebp - 0x38], ebx
jmp 0x422d64
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xac], edi
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x422d57
mov dword [ebp - 0x38], ebx
jmp 0x422d80
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xe0], 0xac3a
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x422d6f
mov dword [ebp - 0x38], ebx
jmp 0x422d9d
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x16c]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x422d8a
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0xa8], ebx
jg 0x422dc6
cmp dword [ebp - 0xa4], ebx
mov eax, edi
jne 0x422dc8
mov eax, ebx
cmp eax, 0xfffa
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x422de6
cmp dword [ebp - 0xa8], ebx
mov eax, edi
jne 0x422de8
mov eax, ebx
mov dword [ebp - 0xe0], 0xf4df
imul ecx, eax, 0xf4df
add ecx, dword [ebp - 0xa8]
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0xa8]
xor edx, edx
cmp eax, ecx
setge dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x16c]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa8]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp dword [ebp - 0x50], eax
setle dl
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xffffffff
setge al
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x3c], 0x18fa
cmp dword [ebp - 0x3c], 0x19bb
jle 0x422e9c
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], esi
mov edi, 0x3a66
mov eax, esi
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
dec esi
dec edi
jne 0x422e79
mov esi, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x5d35
jl 0x422e71
inc edi
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x422ead
push ebx
push ebx
call dword [0xaab2e0]
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x3c], 0x1716
jge 0x422ecc
mov edx, 0xa877d0
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x422ef5
lea ecx, [ebp - 0x16c]
call fcn.0040a3e0
jmp 0x422f1c
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x422f1c
push ebx
push 0x382
push 0x101f
call dword [0xaab104]
lea ecx, [ebp - 0x7c]
call section..sicxz_1
mov dword [ebp - 0x48], 0x1930
cmp dword [ebp - 0x48], 0x1a4f
jle 0x422f9a
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], 0x26da
and eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x2f8]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x422f61
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2f8]
call fcn.0040a8ad
mov eax, dword [ebp - 0x30]
add eax, esi
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
jne 0x422f47
inc esi
cmp esi, 0x3fd
jl 0x422f3b
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x733b
jl 0x422f39
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x48], 0x15d7
jge 0x422fb8
push 0xa87828
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x422fe1
mov dword [ebp - 0x14], 0x1b
jmp 0x422ffc
cmp byte [ebp - 0x15], 0
je 0x422ff9
push ebx
push ebx
push ebx
call dword [0xaab348]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffb
mov byte [ebp - 0x15], bl
jl 0x422fea
cmp byte [ebp - 0x15], 0
je 0x423033
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x44b
push 0x1c42
push 0x19ad
push 0x695
push 0x1299
call dword [0xaab124]
cmp dword [ebp - 0x44], 0
jne 0x42339d
cmp dword [ebp - 0x28], 0
je 0x42339d
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x30], 0x250e6da5
mov dword [ebp - 0x40], 0xfffffffd
push edi
lea ecx, [ebp - 0x178]
call fcn.0040a30e
mov dword [ebp - 0x1c], ebx
jmp 0x42307e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1c8], 0x85c9e53
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42306d
mov dword [ebp - 0x1c], ebx
jmp 0x42309c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x178]
mov dword [eax + ecx*4], 0x38f58595
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x423089
mov dword [ebp - 0x20], 0x18
cmp dword [ebp - 0x20], 0x12
jne 0x4231a1
push edi
lea ecx, [ebp - 0x1f0]
call fcn.0040a30e
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x48], 0x34ef
cmp dword [ebp - 0x48], 0x3646
jle 0x423113
mov esi, ebx
mov dword [ebp - 0x3c], ebx
mov edi, esi
mov dword [ebp - 0x30], 0x7377
mov esi, ebx
mov eax, edi
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
inc esi
cmp esi, 0x675a
jl 0x4230e1
dec edi
dec dword [ebp - 0x30]
jne 0x4230df
mov esi, dword [ebp - 0x3c]
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x234b
jl 0x4230d6
xor edi, edi
inc edi
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x48], 0x344b
jge 0x423132
mov edx, 0xa87850
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x42315b
mov dword [ebp - 0x14], ebx
jmp 0x423173
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1f0]
mov dword [eax + ecx*4], 0x9d44c039
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x423160
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x1c4], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x1f0]
call fcn.0040a3e0
dec dword [ebp - 0x20]
jmp 0x4230a8
mov eax, dword [ebp - 0x178]
inc dword [eax]
lea ecx, [ebp - 0x178]
call fcn.0040a3e0
push dword [ebp - 0x4c]
push dword [ebp - 0x28]
call fcn.0046917d
pop ecx
pop ecx
mov dword [ebp - 0xb8], eax
push 2
lea ecx, [ebp - 0xd0]
call fcn.0040a30e
mov dword [ebp - 0x48], 0x2597
cmp dword [ebp - 0x48], 0x25c3
jle 0x42324d
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x40], edi
mov ecx, esi
mov esi, edi
shl esi, cl
mov edi, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x4c], 0x193
mov eax, esi
mov ecx, ebx
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
add ebx, edi
dec dword [ebp - 0x4c]
jne 0x423206
inc edi
cmp edi, 0x725e
push 0
pop ebx
jl 0x4231fc
mov esi, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x7fe4
mov edi, dword [ebp - 0x3c]
jl 0x4231ee
inc edi
mov dword [ebp - 0x3c], edi
cmp edi, 0x52cb
jl 0x4231e9
xor edi, edi
inc edi
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x48], 0x23bf
jge 0x423273
mov edx, 0xa878b8
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x42329c
mov dword [ebp - 0x14], ebx
jmp 0x4232b4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 0x5b57
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4232a1
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x423381
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ebx
jmp 0x42336f
mov dword [ebp - 0x14], ebx
jmp 0x4232e3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x12c], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4232d6
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0xd0]
cmp dword [eax + ecx*4], 0xffffffff
setne dl
neg edx
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x20]
cmp dword [ecx + edx*4], eax
jle 0x423356
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x1c]
cmp eax, 0xfffffffa
je 0x423327
cmp dword [ebp - 0x1c], ebx
mov edx, edi
jne 0x423329
mov edx, ebx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add eax, edx
imul eax, ecx
test eax, eax
jne 0x423343
test ecx, ecx
mov edx, ebx
je 0x423345
mov edx, edi
xor eax, eax
cmp edx, ecx
setl al
add eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
mov eax, ebx
je 0x423358
mov eax, edi
add eax, 7
je 0x423364
cmp dword [ebp - 0x20], ebx
mov eax, edi
jne 0x423366
mov eax, ebx
mov dword [ebp - 0x12c], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x4232d1
dec dword [ebp - 0x1c]
jns 0x4232c6
lea ecx, [ebp - 0xd0]
call fcn.0040a3e0
lea eax, [ebp - 0x6c]
push eax
call fcn.0042351d
mov ecx, dword [ebp - 0xb8]
mov dword [eax], ecx
mov dword [ebp - 0x14], 0xc85f70ad
push 3
lea ecx, [ebp - 0x154]
call fcn.0040a30e
mov dword [ebp - 0x14], ebx
jmp 0x4233c5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4233b6
mov dword [ebp - 0x14], 5
jmp 0x42340d
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x28], ebx
jmp 0x4233ef
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x4233e0
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x42340a
push ebx
push 0x2583
call dword [0xaab528]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff8
je 0x4233d4
lea ecx, [ebp - 0x154]
call fcn.0040a3e0
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret