Function at 0x411126
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using rc4 ksa
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1068
push ebx
push esi
push edi
mov esi, 0x4019f0
mov dword [ebp - 0x1c], 0x1bfe8e60
lea edi, [ebp - 0x3b0]
mov dword [ebp - 0x18], 0x5aee59a6
xor ebx, ebx
mov dword [ebp - 0x14], 0xf4769308
mov dword [ebp - 0x10], 0x261c5da2
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], 0xaa30d275
mov dword [ebp - 8], 0xa37d38c6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x411172
mov esi, ebx
mov dl, byte [ebp + esi - 0x288]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x3b0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], dl
cmp esi, 0x100
jb 0x411183
mov ecx, dword [0x44d518]
xor eax, eax
mov esi, eax
mov dword [ebp - 0x3c], 9
mov edi, eax
lea eax, [esi + 1]
mov edx, 0x401d40
movzx esi, al
push 0x6f
mov dword [ebp - 0x40], esi
mov al, byte [ebp + esi - 0x288]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x44], eax
add eax, ebx
movzx ebx, al
pop eax
add eax, 0xffffffd0
cmp ax, word [ebp - 0x3c]
ja 0x411217
mov esi, dword [ebp - 0x40]
add edx, 2
movzx eax, word [edx]
mov dword [ebp - 0xe8], eax
test ax, ax
jne 0x4111f8
jmp 0x411229
mov ecx, dword [0x44d514]
or ecx, 0x59feea7d
mov dword [0x44d518], ecx
lea eax, [ecx + 0x7e142b23]
mov dword [0x44d514], eax
mov eax, 0x401d00
push ecx
mov edx, eax
mov ecx, eax
call fcn.004110e3
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + esi - 0x288], al
mov al, byte [ebp - 1]
mov byte [ebp + ebx - 0x288], al
movzx eax, byte [ebp + esi - 0x288]
add eax, dword [ebp - 0x44]
movzx eax, al
pop ecx
mov ecx, dword [0x44d518]
or ecx, 0xd406a134
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + edi - 0x1c]
mov byte [ebp + edi - 0x40c], al
inc edi
mov dword [0x44d518], ecx
cmp edi, 0x18
jb 0x4111d2
mov edx, dword [0x44d514]
lea edi, [ebp - 0x28]
mov esi, 0x401608
mov dword [ebp - 0xac], 0x91a3d8de
xor ecx, ecx
mov word [ebp - 0xa8], 0x23bf
xor edx, 0x4e5162be
mov byte [ebp - 0x3f4], cl
mov dword [0x44d518], edx
mov ebx, ecx
movsd dword es:[edi], dword [esi]
mov eax, ecx
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x4112d4
mov edi, ecx
mov cl, byte [ebp + edi - 0x288]
lea esi, [edx + 0x752e971a]
mov eax, edi
mov byte [ebp - 1], cl
and eax, 7
movzx ecx, cl
mov dword [0x44d514], esi
movzx eax, byte [ebp + eax - 0x28]
add eax, ebx
add ecx, eax
movzx eax, cl
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov ebx, ecx
mov al, byte [ebp + eax - 0x288]
mov byte [ebp + edi - 0x288], al
mov eax, 0x401d00
inc ebx
lea eax, [eax + 2]
cmp ebx, 0x1252
jg 0x411382
cmp word [eax], cx
jne 0x411329
sub edx, 0x332c6aea
mov dword [0x44d518], edx
sub esi, 0x2dc99ddf
push edx
push 0x401a04
mov ecx, esi
mov dword [0x44d514], esi
call fcn.00410feb
mov ebx, dword [ebp - 0x3c]
inc edi
mov al, byte [ebp - 1]
pop ecx
pop ecx
mov byte [ebp + ebx - 0x288], al
cmp edi, 0x100
jae 0x4113cf
mov edx, dword [0x44d518]
jmp 0x4112e5
mov eax, 0x401d40
push edx
mov edx, eax
mov ecx, eax
call fcn.004110e3
mov esi, dword [0x44d514]
imul edx, esi, 0xa20f0ca2
pop ecx
mov dword [0x44d518], edx
cmp ebx, 0x1ce4
jle 0x41133a
mov eax, 0x401d40
push edx
mov edx, eax
mov ecx, eax
call fcn.004110e3
pop ecx
mov edx, dword [0x44d518]
mov esi, edx
xor esi, 0xff5e9fe0
jmp 0x411346
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
push 6
mov cl, byte [ebp + edi - 0x288]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov byte [ebp + ebx - 0x288], cl
movzx eax, byte [ebp + edi - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0xac]
mov byte [ebp + esi - 0x394], al
inc esi
pop eax
cmp esi, eax
jb 0x4113d7
mov dword [ebp - 0x80], 0x43
xor ebx, ebx
mov dword [ebp - 0x7c], 0x1b
mov dword [ebp - 0x78], 0x18
mov dword [ebp - 0x74], 0xffffff62
movups xmm1, xmmword [ebp - 0x80]
push 0x12
mov byte [ebp - 0x38e], bl
movaps xmm0, xmm1
mov dword [ebp - 0xac], 0x63
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xa8], 0xffffff8c
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x28
mov dword [ebp - 0x84], eax
pop eax
mov ecx, eax
mov eax, ebx
add ecx, dword [ebp + eax*4 - 0xac]
inc eax
cmp eax, 2
jl 0x411494
push 7
pop eax
mov byte [ebp - 0x50], al
push 5
pop eax
mov dword [ebp - 0x8c], ecx
mov ecx, ebx
mov byte [ebp - 0x4e], al
mov eax, 0x401d40
mov dword [ebp - 0x6c], 0xdbaba2e7
mov dword [ebp - 0x68], 0xf291a3d0
mov dword [ebp - 0x64], 0x5eef307a
mov dword [ebp - 0x60], 0xe50f9078
mov dword [ebp - 0x5c], 0x28487a41
mov dword [ebp - 0x58], 0x20c8ba73
mov dword [ebp - 0x54], 0xa35c795a
mov byte [ebp - 0x4f], 0xc8
mov dword [ebp - 0x4d], 0x61f6d0a9
mov word [ebp - 0x49], 0x3702
mov byte [ebp - 0x47], 0xf8
mov dword [ebp - 0xac], 0x50545050
mov dword [ebp - 0xa8], 0x573030
inc ecx
lea eax, [eax + 2]
cmp ecx, 0xf5f
jg 0x41152c
cmp word [eax], bx
jne 0x411514
mov eax, dword [0x44d514]
jmp 0x41154f
mov ecx, dword [0x44d518]
mov edx, dword [0x44d514]
push ecx
push 0x4019f0
call fcn.00410feb
imul eax, dword [0x44d514], 0x7aa35208
pop ecx
pop ecx
imul ecx, eax, 0xb5883037
mov dword [0x44d518], ecx
lea eax, [ecx + 0x5e5b2995]
mov dword [0x44d514], eax
mov eax, 0x401d00
push ecx
mov edx, eax
mov ecx, eax
call fcn.004110e3
pop ecx
mov edi, ebx
mov eax, ebx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x41157a
mov eax, dword [0x44d514]
mov esi, ebx
mov dword [ebp - 0x44], eax
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xac]
add eax, edi
add ecx, eax
imul eax, dword [ebp - 0x44], 0x62b04c61
movzx edi, cl
mov dword [ebp - 0x44], eax
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x411593
mov ebx, dword [0x44d518]
xor eax, eax
xor ebx, 0x9784cc74
mov esi, eax
mov dword [ebp - 0x40], ebx
mov edx, eax
mov dword [0x44d514], ebx
mov ecx, eax
xor ebx, ebx
lea eax, [edx + 1]
mov edi, ebx
movzx edx, al
mov al, byte [ebp + edx - 0x288]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x3c], eax
add eax, esi
movzx esi, al
mov eax, 0x401d00
inc edi
lea eax, [eax + 2]
cmp edi, 0x1a25
je 0x41162f
cmp word [eax], bx
jne 0x41161e
mov al, byte [ebp + esi - 0x288]
mov byte [ebp + edx - 0x288], al
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x288], al
movzx eax, byte [ebp + edx - 0x288]
add eax, dword [ebp - 0x3c]
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + ecx - 0x6c]
movzx eax, al
mov word [ebp + ecx*2 - 0x9a4], ax
inc ecx
cmp ecx, 0x26
jb 0x4115fc
mov ebx, dword [ebp - 0x40]
lea edi, [ebp - 0xa0]
xor eax, eax
mov dword [ebp - 0x1c], 0xeb8e2572
mov word [ebp - 0x958], ax
mov esi, 0x401a0c
push 5
pop eax
mov ecx, eax
mov byte [ebp - 0xb], al
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x18], 0x83947f0a
mov dword [ebp - 0x14], 0x6b5f7a01
mov edi, edx
mov dword [ebp - 0x10], 0xbbac535f
mov eax, edx
mov byte [ebp - 0xc], 0x23
mov ecx, 0x401d40
mov dword [ebp - 0xa], 0xc06af44d
mov word [ebp - 6], 0x725b
inc eax
lea ecx, [ecx + 2]
cmp eax, 0x290
je 0x4116e9
cmp word [ecx], dx
jne 0x4116ca
cmp eax, 0x17a
jg 0x4116f4
lea eax, [ebx + 0x62c09f55]
jmp 0x411705
imul eax, ebx, 0xc04ad333
mov dword [0x44d518], eax
call fcn.00410f1d
imul eax, dword [0x44d518], 0x76c7e57d
xor edx, edx
xor eax, 0xc51c8292
mov dword [ebp - 0x3c], eax
mov eax, edx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x41170f
push 0x13
mov esi, edx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
mov eax, esi
div ecx
movzx ecx, bl
push 0x13
movzx eax, byte [ebp + edx - 0xa0]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x411723
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x288]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov byte [ebp + ebx - 0x288], cl
movzx eax, byte [ebp + edi - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x428], al
inc esi
cmp esi, 0x18
jb 0x41176b
push 5
pop eax
mov ecx, eax
mov dword [ebp - 0xac], 0xa3584d04
mov esi, 0x401a20
mov word [ebp - 0xa8], 0xc72b
lea edi, [ebp - 0x1c]
xor edx, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x410], dl
mov eax, edx
movsb byte es:[edi], byte [esi]
mov edi, edx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x4117ea
push 0x14
pop ecx
mov esi, edx
mov dword [ebp - 0x40], ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
mov eax, esi
div ecx
movzx ecx, bl
push 0x14
movzx eax, byte [ebp + edx - 0x1c]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x411801
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
push 6
mov cl, byte [ebp + edi - 0x288]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov byte [ebp + ebx - 0x288], cl
movzx eax, byte [ebp + edi - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0xac]
mov byte [ebp + esi - 0x39c], al
inc esi
pop eax
cmp esi, eax
jb 0x411846
xor ebx, ebx
mov dword [ebp - 0xb0], 0x59
push 0x3e
mov byte [ebp - 0x396], bl
mov eax, ebx
pop ecx
mov dword [ebp - 0xac], 0x48
mov dword [ebp - 0xa8], 0xffffff2e
add ecx, dword [ebp + eax*4 - 0xb0]
inc eax
cmp eax, 3
jl 0x4118c6
push 0x5c
pop esi
push 0xffffffffffffff94
pop edx
push 2
mov dword [ebp - 0x17c], ecx
mov eax, ebx
mov ecx, esi
mov dword [ebp - 0xac], 0x10
mov dword [ebp - 0xa8], edx
pop edi
add ecx, dword [ebp + eax*4 - 0xac]
inc eax
cmp eax, edi
jl 0x4118f6
mov dword [ebp - 0x80], 0x46
mov dword [ebp - 0x7c], 0x21
mov dword [ebp - 0x78], 0x15
mov dword [ebp - 0x74], 0xffffff34
movups xmm1, xmmword [ebp - 0x80]
mov dword [ebp - 0x334], ecx
push 7
movaps xmm0, xmm1
mov dword [ebp - 0x7c], 0x48
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x78], 0x42
movups xmm0, xmm1
mov dword [ebp - 0x74], 0x4eb
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0xa8], edx
pop ecx
mov dword [ebp - 0x80], ecx
movups xmm0, xmmword [ebp - 0x80]
push 0x1c
movd eax, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm0
mov dword [ebp - 0xac], 0x51
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 0x50
paddd xmm1, xmm0
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x3c]
movups xmm0, xmm1
psrldq xmm0, 4
xor eax, 0xef08fa0
paddd xmm1, xmm0
mov dword [0x44d514], eax
movd ecx, xmm1
pop edx
add ecx, 0x5f1
mov dword [ebp - 0x33c], ecx
mov ecx, ebx
add edx, dword [ebp + ecx*4 - 0xac]
inc ecx
cmp ecx, edi
jl 0x4119bd
push 0x4b
pop ecx
mov dword [ebp - 0xe8], edx
mov edx, ecx
mov dword [ebp - 0xac], 0x1b
mov ecx, ebx
mov dword [ebp - 0xa8], 0xffffff9a
add edx, dword [ebp + ecx*4 - 0xac]
inc ecx
cmp ecx, edi
jl 0x4119ea
mov dword [ebp - 0xa8], edx
mov ecx, 0x401d40
mov edx, ebx
add ecx, edi
inc edx
cmp edx, 0x2309
je 0x411a15
cmp word [ecx], bx
jne 0x411a03
jmp 0x411a20
imul eax, eax, 0x7719a875
mov dword [0x44d514], eax
lea ecx, [eax + 0x637cfd41]
mov edx, eax
and ecx, 0xfdbaaf4b
push ecx
push 0x4019f0
mov dword [0x44d518], ecx
call fcn.00410feb
pop ecx
pop ecx
push 3
mov ecx, 0xb2c
mov dword [ebp - 0x28], 0x31
mov dword [ebp - 0x24], 0x23
mov eax, ebx
mov dword [ebp - 0x20], 0x9d4
pop edx
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, edx
jl 0x411a60
push 0x13
pop edi
mov dword [ebp - 0x340], ecx
mov eax, ebx
mov ecx, edi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0x47
mov dword [ebp - 0x20], 0x34a
add ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, edx
jl 0x411a87
push 9
pop eax
mov dword [ebp - 0x80], eax
xorps xmm1, xmm1
push 0x15
pop eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], 0x5e
mov dword [ebp - 0x74], 0x1b84
movups xmm0, xmmword [ebp - 0x80]
push 0x42
mov dword [ebp - 0x344], ecx
mov ecx, 0x1000
psubd xmm1, xmm0
mov dword [ebp - 0x24], 0x54
movaps xmm0, xmm1
mov dword [ebp - 0x20], 0xd6a
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x2000
mov dword [ebp - 0x34c], eax
pop eax
mov dword [ebp - 0x28], eax
mov eax, ebx
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, edx
jl 0x411afd
mov dword [ebp - 0x348], ecx
mov eax, ebx
mov ecx, 0x3800
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x24], 0x61
mov dword [ebp - 0x20], 0x3390
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, edx
jl 0x411b28
mov dword [ebp - 0x364], ecx
mov eax, ebx
imul ecx, dword [0x44d518], 0xf0d3953d
push 0x36
pop edx
mov dword [ebp - 0x28], 0x4d
mov dword [ebp - 0x24], 0xb
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x20], 0x172
add edx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x411b61
push 5
mov dword [ebp - 0x350], edx
mov ecx, 0x3400
mov dword [ebp - 0xa0], 0x1b
mov eax, ebx
mov dword [ebp - 0x9c], 0x4f
mov dword [ebp - 0x98], 0x28
mov dword [ebp - 0x94], 0x3e
mov dword [ebp - 0x90], 0x2f30
pop esi
sub ecx, dword [ebp + eax*4 - 0xa0]
inc eax
cmp eax, esi
jl 0x411bad
push 0x16
mov dword [ebp - 0x180], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 0x28], 0x56
mov dword [ebp - 0x24], 0x38
mov dword [ebp - 0x20], 0x15c
add ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x411bd9
mov dword [ebp - 0x80], 0x23
xorps xmm1, xmm1
mov dword [ebp - 0x7c], 0x19
mov dword [ebp - 0x78], 8
mov dword [ebp - 0x74], 0x2bbc
movups xmm0, xmmword [ebp - 0x80]
mov dword [ebp - 0x368], ecx
mov ecx, 0x1600
mov dword [ebp - 0x28], 0x3a
psubd xmm1, xmm0
mov dword [ebp - 0x24], 0x61
movaps xmm0, xmm1
mov dword [ebp - 0x20], 0x1365
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x3000
mov dword [ebp - 0x2cc], eax
mov eax, ebx
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x411c53
push 0x39
pop eax
push 0x15
mov byte [ebp - 0x1b], al
mov esi, 0x401a38
pop eax
push 6
mov byte [ebp - 0x14], al
pop eax
mov dword [ebp - 0x2b4], ecx
mov ecx, edi
mov byte [ebp - 0xe], al
lea edi, [ebp - 0x5c4]
push 0x4b
pop eax
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0xc], al
mov edi, ebx
mov byte [ebp - 0x1c], 0x55
mov eax, ebx
mov dword [ebp - 0x1a], 0x97832d5c
mov word [ebp - 0x16], 0x66e0
mov dword [ebp - 0x13], 0x77e130af
mov byte [ebp - 0xf], 0xfe
mov byte [ebp - 0xd], 0x36
mov dword [ebp - 0xb], 0x8c6d8c01
mov word [ebp - 7], 0xe5a1
mov byte [ebp - 5], 0xff
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x411cbf
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 0x4b
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x5c4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x411cd0
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x288]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov byte [ebp + ebx - 0x288], cl
movzx eax, byte [ebp + edi - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x444], al
inc esi
cmp esi, 0x18
jb 0x411d18
push 0x12
pop eax
mov byte [ebp - 0x93], al
lea edi, [ebp - 0x1c]
push 5
pop eax
mov ecx, eax
mov dword [ebp - 0xa4], 0x733d8d89
mov esi, 0x401500
mov dword [ebp - 0xa0], 0xb42520f8
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x9c], 0x1a61aaa6
mov byte [ebp - 0x42c], dl
mov eax, edx
mov dword [ebp - 0x98], 0xb444bd38
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x94], 0x68
mov edi, edx
mov dword [ebp - 0x92], 0x3bfd7b1f
mov word [ebp - 0x8e], 0xb799
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x411dcf
mov ebx, dword [ebp - 0x88]
mov esi, edx
xor edx, edx
mov cl, byte [ebp + esi - 0x288]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x40]
movzx ecx, cl
push 0x6f
movzx eax, byte [ebp + edx - 0x1c]
mov edx, 0x21f8
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
mov eax, 0x401d40
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x1268
ja 0x411e35
movzx ecx, word [eax]
test ecx, ecx
jne 0x411e21
mov al, byte [ebp - 1]
or ebx, 0x100be38c
xor ebx, 0xadbb206d
mov byte [ebp + edi - 0x288], al
inc esi
cmp esi, 0x100
jb 0x411de6
xor eax, eax
mov dword [ebp - 0x88], ebx
and ebx, 0xe3f8f799
mov dword [ebp - 0x38], eax
mov edi, eax
mov dword [ebp - 0x3c], ebx
mov esi, eax
lea eax, [edi + 1]
xor ebx, 0xa5f15203
movzx edi, al
mov eax, dword [ebp - 0x38]
mov cl, byte [ebp + edi - 0x288]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x38], eax
mov al, byte [ebp + eax - 0x288]
mov byte [ebp + edi - 0x288], al
mov eax, dword [ebp - 0x38]
mov byte [ebp + eax - 0x288], cl
movzx eax, byte [ebp + edi - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0xa4]
mov byte [ebp + esi - 0x578], al
inc esi
cmp esi, 0x18
jb 0x411e6c
mov ebx, dword [ebp - 0x88]
lea edi, [ebp - 0xa0]
push 0x1e
pop eax
mov byte [ebp - 0x22], al
xor edx, edx
push 5
pop eax
mov ecx, eax
mov byte [ebp - 0x560], dl
mov esi, 0x401a84
mov word [ebp - 0x24], 0xae80
xor ebx, 0xe9809108
mov word [ebp - 0x21], 0x9dbc
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x88], ebx
mov edi, edx
mov dword [0x44d514], ebx
mov eax, edx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x411f15
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 0x13
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xa0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x411f26
mov ecx, dword [ebp - 0x88]
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
mov dword [ebp - 0x3c], 0x1a64
movzx edi, al
push 0x63
pop edx
mov al, byte [ebp + edi - 0x288]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x44], eax
add eax, ebx
movzx ebx, al
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + ebx - 0x288]
mov ebx, dword [ebp - 0x3c]
mov byte [ebp + edi - 0x288], al
mov eax, 0x401d00
add ebx, edx
lea eax, [eax + 2]
cmp ebx, 0x754
ja 0x411fc6
movzx edx, word [eax]
test edx, edx
jne 0x411fb2
xor ecx, 0xa6a41f05
mov dword [0x44d518], ecx
call fcn.00410f1d
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp - 1]
push 5
mov byte [ebp + ebx - 0x288], al
movzx eax, byte [ebp + edi - 0x288]
add eax, dword [ebp - 0x44]
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0x24]
mov byte [ebp + esi - 0x358], al
inc esi
pop eax
cmp esi, eax
jae 0x412017
mov ecx, dword [0x44d514]
jmp 0x411f74
mov ecx, 0xd8
lea edi, [ebp - 0xd04]
mov esi, 0x403a88
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, 0x401608
mov byte [ebp - 0x353], bl
lea edi, [ebp - 0x28]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x412040
push 7
mov esi, ebx
pop ebx
mov dl, byte [ebp + esi - 0x288]
mov eax, esi
and eax, ebx
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], dl
cmp esi, 0x100
jb 0x412054
xor ebx, ebx
mov eax, 0x401d00
xor ecx, ecx
mov edi, ecx
mov esi, ecx
inc esi
lea eax, [eax + 2]
cmp esi, 0x1d06
jl 0x4120ac
cmp word [eax], cx
jne 0x412099
jmp 0x4120c8
call fcn.00410f1d
imul eax, dword [0x44d518], 0xe9db971a
mov dword [0x44d518], eax
cmp esi, 0x115e
jle 0x4120cd
call fcn.00410f1d
mov ecx, dword [0x44d514]
add ecx, 0x40ca94d3
mov dword [0x44d514], ecx
and ecx, 0xfc204ed3
push ecx
push 0x401a98
mov edx, ecx
mov dword [0x44d518], ecx
call fcn.00410feb
pop ecx
xor edx, edx
pop ecx
mov esi, edx
lea eax, [edi + 1]
mov ecx, edx
movzx edi, al
mov al, byte [ebp + edi - 0x288]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x3c], eax
add eax, ebx
movzx ebx, al
mov eax, 0x401d40
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x536
jl 0x412131
cmp word [eax], dx
jne 0x412120
mov ecx, dword [0x44d514]
mov eax, ecx
and eax, 0x812dac11
mov dword [0x44d518], eax
xor ecx, 0xf8cdb105
push 0x12f2
mov dword [0x44d514], ecx
call dword [sym.imp.USER32.dll_IsZoomed]
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov al, byte [ebp - 1]
mov byte [ebp + ebx - 0x288], al
movzx eax, byte [ebp + edi - 0x288]
add eax, dword [ebp - 0x3c]
movzx eax, al
push 0
pop edx
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0xd04]
mov byte [ebp + esi - 0x1068], al
inc esi
cmp esi, 0x360
jb 0x4120fe
push 5
pop eax
mov byte [ebp - 0x18], al
lea edi, [ebp - 0x3f0]
push 7
pop eax
mov ecx, eax
mov dword [ebp - 0x80], 0xe
mov esi, 0x401aa0
mov dword [ebp - 0x7c], 0x3f
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x78], 0x51
xorps xmm1, xmm1
mov dword [ebp - 0x74], 0xffffff62
mov eax, edx
movups xmm0, xmmword [ebp - 0x80]
movsw word es:[edi], word [esi]
mov esi, dword [0x44d514]
psubd xmm1, xmm0
mov byte [ebp - 0xd08], dl
movaps xmm0, xmm1
mov dword [ebp - 0x1c], 0x2f416325
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x17], 0x74a49446
movups xmm0, xmm1
mov dword [ebp - 0x13], 0x75e31b49
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0xf], 0xdd8d5167
movd dword [ebp - 0x88], xmm1
mov dword [ebp - 0xb], 0x8ce4332a
mov word [ebp - 7], 0x5ef6
mov byte [ebp - 5], 0x74
imul esi, esi, 0xc857899f
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x412241
push 0x1d
mov dword [ebp - 0x38], esi
mov edi, edx
pop ecx
mov esi, edx
xor edx, edx
mov bl, byte [ebp + edi - 0x288]
mov eax, edi
div ecx
movzx ecx, bl
push 0x1d
movzx eax, byte [ebp + edx - 0x3f0]
add eax, esi
add ecx, eax
movzx esi, cl
pop ecx
mov al, byte [ebp + esi - 0x288]
mov byte [ebp + edi - 0x288], al
inc edi
mov byte [ebp + esi - 0x288], bl
cmp edi, 0x100
jb 0x412260
mov esi, dword [ebp - 0x38]
xor eax, eax
add esi, 0x7fdbdbb8
mov ebx, eax
mov dword [ebp - 0x38], esi
mov edi, eax
mov dword [0x44d514], esi
mov esi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x288]
movzx edx, cl
lea eax, [edx + esi]
movzx esi, al
mov al, byte [ebp + esi - 0x288]
mov byte [ebp + ebx - 0x288], al
mov byte [ebp + esi - 0x288], cl
movzx eax, byte [ebp + ebx - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + edi - 0x1c]
mov byte [ebp + edi - 0x460], al
inc edi
cmp edi, 0x18
jb 0x4122ba
mov esi, dword [ebp - 0x38]
xor ebx, ebx
push 0x5d
mov byte [ebp - 0x448], bl
mov eax, ebx
pop ecx
mov dword [ebp - 0x24], 0x1d
mov dword [ebp - 0x20], 0xffffffa4
add ecx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, 2
jl 0x412328
mov edx, dword [0x44d518]
mov dword [ebp - 0x80], 0x62
or edx, 0x6fa03e36
mov dword [ebp - 0x7c], 0x5f
mov dword [ebp - 0x78], 0x43
mov dword [ebp - 0x74], 0xfffffedb
movups xmm1, xmmword [ebp - 0x80]
mov dword [ebp - 0x2c0], ecx
mov ecx, ebx
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x21
mov dword [ebp - 0xdc], eax
mov eax, 0x401d40
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x1a03
jg 0x4123a3
cmp word [eax], bx
jne 0x412390
jmp 0x4123b1
mov esi, edx
or esi, 0xd16354c
mov dword [0x44d514], esi
imul ecx, esi, 0x18e63993
push esi
push 0x401ac0
add ecx, 0x4535fe22
mov edx, ecx
mov dword [0x44d518], ecx
call fcn.00410feb
pop ecx
pop ecx
push 0x46
pop ecx
push 0x13
pop eax
mov dword [ebp - 0x7c], eax
mov esi, ebx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x78], ecx
mov ecx, dword [0x44d518]
mov edi, ecx
mov dword [ebp - 0x74], 0xffffff61
movups xmm1, xmmword [ebp - 0x80]
push 0x45
mov dword [ebp - 0x24], 0x23
movaps xmm0, xmm1
mov dword [ebp - 0x20], 0xffffff5f
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x1e
and edi, 0x82f7589f
mov dword [ebp - 0x3c], eax
pop eax
push 0x39
mov dword [ebp - 0x178], eax
pop eax
mov dword [ebp - 0x28], eax
push 0x6f
mov edx, 0x401d40
pop ebx
lea eax, [ebx - 0x30]
push 9
pop ebx
cmp ax, bx
ja 0x41245d
add edx, 2
movzx eax, word [edx]
mov ebx, eax
test ax, ax
jne 0x412443
jmp 0x412469
imul ecx, ecx, 0x740c9ee5
mov dword [0x44d518], ecx
imul eax, edi, 0x688d1fb2
mov edi, 0x401d40
push ecx
mov edx, edi
mov ecx, 0x401d00
mov dword [0x44d514], eax
call fcn.004110e3
mov eax, dword [ebp - 0x178]
add eax, dword [ebp + esi*4 - 0x28]
inc esi
mov dword [ebp - 0x178], eax
pop ecx
cmp esi, 3
jge 0x4124ab
mov ecx, dword [0x44d518]
mov edi, dword [0x44d514]
jmp 0x41243b
xor ebx, ebx
mov dword [ebp - 0xa0], 0x4d
push 5
mov ecx, ebx
mov dword [ebp - 0x9c], 0x25
mov dword [ebp - 0x98], 0x2b
mov eax, ebx
mov dword [ebp - 0x94], 0x50
mov dword [ebp - 0x90], 0xffffff13
pop edx
sub ecx, dword [ebp + eax*4 - 0xa0]
inc eax
cmp eax, edx
jl 0x4124e6
push 0x6f
mov dword [ebp - 0x374], ecx
mov edx, 0xb05
mov dword [ebp - 0x80], 0x48
mov eax, edi
mov dword [ebp - 0x7c], 0x4d
mov dword [ebp - 0x78], 0x25
mov dword [ebp - 0x74], 0x1f46
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x20cc
ja 0x41253e
movzx ecx, word [eax]
test ecx, ecx
jne 0x41251e
mov eax, dword [0x44d518]
add eax, 0xcfdf9ee8
jmp 0x412567
push dword [0x44d518]
or dword [0x44d514], 0x318783be
mov edx, edi
mov ecx, edi
call fcn.004110e3
pop ecx
xor dword [0x44d518], 0x3a8eb55b
mov eax, dword [0x44d514]
sub eax, 0x2971400a
mov dword [0x44d514], eax
call fcn.00410f1d
movups xmm0, xmmword [ebp - 0x80]
mov dword [ebp - 0x24], 0x2a
mov ecx, edi
xorps xmm1, xmm1
mov dword [ebp - 0x20], 0x1b9
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
push 0x1d
movd eax, xmm1
pop esi
push 0x6f
add eax, 0x2400
mov dword [ebp - 0x370], eax
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x4125de
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x4125be
mov ecx, dword [0x44d518]
jmp 0x4125ea
mov ecx, dword [0x44d518]
and ecx, 0x790a164a
imul edi, ecx, 0x56000d9
mov eax, ebx
mov dword [0x44d514], edi
add esi, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, 2
jl 0x4125f8
push 0x35
mov dword [ebp - 0x36c], esi
mov eax, ebx
pop edx
mov dword [ebp - 0x28], 0x4f
mov dword [ebp - 0x24], 0x47
mov dword [ebp - 0x20], 0x335
add edx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x412622
push 0x4c
mov dword [ebp - 0x37c], edx
mov eax, ebx
pop edx
mov dword [ebp - 0x24], 0x3c
mov dword [ebp - 0x20], 0xffffffaa
add edx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, 2
jl 0x412645
push 0x22
pop eax
push 5
mov dword [ebp - 0x378], edx
mov edx, ebx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov eax, ebx
mov dword [ebp - 0xa0], 0x51
mov dword [ebp - 0x94], 0x30
mov dword [ebp - 0x90], 0xffffff3b
pop esi
sub edx, dword [ebp + eax*4 - 0xa0]
inc eax
cmp eax, esi
jl 0x412689
push 0x13
pop eax
mov dword [ebp - 0x78], eax
xorps xmm1, xmm1
mov dword [ebp - 0x80], 0x3f
mov dword [ebp - 0x7c], 0x50
mov dword [ebp - 0x74], 0x1b5e
movups xmm0, xmmword [ebp - 0x80]
mov dword [ebp - 0x388], edx
mov edx, 0x2000
push 0x22
psubd xmm1, xmm0
mov dword [ebp - 0x28], 0x61
movaps xmm0, xmm1
mov dword [ebp - 0x24], 0x21
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x20], 0x15c
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, edx
mov dword [ebp - 0x384], eax
mov eax, ebx
pop edx
add edx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x412704
push 0x1e
pop eax
push 5
mov byte [ebp - 0xa], al
pop eax
push 0x6f
mov dword [ebp - 0x380], edx
mov edx, 0x401d40
mov dword [ebp - 0x1c], 0x44dc71be
mov dword [ebp - 0x18], 0x28a27d18
mov dword [ebp - 0x14], 0x737e5b61
mov dword [ebp - 0x10], 0xc39f47bb
mov word [ebp - 0xc], 0xed03
mov word [ebp - 9], 0x973d
mov byte [ebp - 7], al
mov word [ebp - 6], 0xd1cd
pop esi
lea eax, [esi - 0x30]
push 9
pop esi
cmp ax, si
ja 0x412770
add edx, 2
movzx eax, word [edx]
mov esi, eax
test ax, ax
jne 0x412756
jmp 0x412778
mov ecx, edi
xor ecx, 0x63c637fe
add ecx, 0x37305c9d
push edi
push 0x4019f0
mov edx, ecx
mov dword [0x44d518], ecx
call fcn.00410feb
mov esi, 0x401aec
lea edi, [ebp - 0xa0]
pop ecx
pop ecx
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x4127a9
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 0x12
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xa0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x4127ba
mov esi, dword [0x44d518]
xor eax, eax
mov ebx, eax
mov dword [ebp - 0xb4], esi
mov edi, eax
imul eax, esi, 0xe7bd3d9b
mov esi, ebx
mov dword [0x44d514], eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x288]
movzx edx, cl
lea eax, [edx + esi]
movzx esi, al
mov al, byte [ebp + esi - 0x288]
mov byte [ebp + ebx - 0x288], al
mov byte [ebp + esi - 0x288], cl
movzx eax, byte [ebp + ebx - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + edi - 0x1c]
mov byte [ebp + edi - 0x47c], al
inc edi
cmp edi, 0x18
jb 0x412819
mov esi, dword [ebp - 0xb4]
xor ecx, ecx
push 6
pop eax
mov byte [ebp - 0x6f], al
mov byte [ebp - 0x48], al
mov eax, dword [0x401b00]
mov dword [ebp - 0x24], eax
mov ax, word [0x401b04]
push 0x14
pop edx
mov word [ebp - 0x20], ax
mov eax, ecx
mov byte [ebp - 0x464], cl
mov byte [ebp - 0x70], 0x10
mov dword [ebp - 0x6e], 0x9215fdfd
mov dword [ebp - 0x6a], 0x454cdc59
mov dword [ebp - 0x66], 0x733d5da9
mov dword [ebp - 0x62], 0x6de3a523
mov dword [ebp - 0x5e], 0xd2a80494
mov dword [ebp - 0x5a], 0x350e4195
mov byte [ebp - 0x56], 0x4c
mov byte [ebp - 0x55], dl
mov dword [ebp - 0x54], 0x166ee3ae
mov dword [ebp - 0x50], 0xc6ae91e9
mov dword [ebp - 0x4c], 0x1f0174c4
mov word [ebp - 0x47], 0xdb70
mov byte [ebp - 0x45], 0x2f
mov dword [ebp - 0x38], ecx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x4128ee
mov edi, ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x288]
push 5
pop ecx
mov eax, edi
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x24]
add eax, dword [ebp - 0x38]
add ecx, eax
xor eax, eax
movzx edx, cl
mov ecx, 0x401d40
mov dword [ebp - 0x38], edx
inc eax
lea ecx, [ecx + 2]
cmp eax, 0x2649
je 0x412953
xor edx, edx
cmp word [ecx], dx
mov edx, dword [ebp - 0x38]
jne 0x412929
cmp eax, 0x1c1d
jg 0x41295f
mov esi, dword [0x44d514]
add esi, 0x92ffe5f
jmp 0x412973
and esi, 0xc608cc7f
mov dword [0x44d518], esi
call fcn.00410f1d
mov esi, dword [0x44d514]
mov edx, dword [ebp - 0x38]
xor esi, 0x691fc625
mov al, byte [ebp + edx - 0x288]
and esi, 0x52cbe18d
mov byte [ebp + edi - 0x288], al
inc edi
mov dword [0x44d518], esi
mov byte [ebp + edx - 0x288], bl
cmp edi, 0x100
jb 0x4128ff
xor eax, eax
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x44], eax
mov ebx, eax
mov edi, eax
lea eax, [esi - 0x7a63b05c]
mov dword [0x44d514], eax
push 0x63
pop edx
push 9
mov ecx, 0x401d00
pop esi
lea eax, [edx - 0x30]
cmp ax, si
ja 0x4129db
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x4129c6
lea eax, [ebx + 1]
movzx ebx, al
mov eax, dword [ebp - 0x44]
mov cl, byte [ebp + ebx - 0x288]
movzx edx, cl
add eax, edx
movzx esi, al
mov dword [ebp - 0x44], esi
mov al, byte [ebp + esi - 0x288]
mov byte [ebp + ebx - 0x288], al
mov byte [ebp + esi - 0x288], cl
movzx eax, byte [ebp + ebx - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + edi - 0x70]
mov byte [ebp + edi - 0x7f4], al
inc edi
cmp edi, 0x2c
jb 0x4129bb
mov esi, dword [ebp - 0xb4]
xor edx, edx
mov byte [ebp - 0x7c8], dl
mov ecx, edx
mov dword [ebp - 0x28], 0x2d
mov eax, edx
mov dword [ebp - 0x24], 0x44
mov dword [ebp - 0x20], 0xffffff8f
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x412a57
push 6
pop eax
mov dword [ebp - 0x30c], ecx
mov ebx, 0x2000
mov dword [ebp - 0x28], 0x48
mov edi, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x1bb2
mov eax, edx
mov ecx, 0x401d00
inc eax
lea ecx, [ecx + 2]
cmp eax, 0x305
je 0x412aa2
cmp word [ecx], dx
jne 0x412a89
cmp eax, 0x35a
jg 0x412aca
jmp 0x412abe
push dword [0x44d514]
mov edx, esi
mov ecx, esi
push 0x401b08
call fcn.00410feb
mov esi, dword [0x44d518]
pop ecx
pop ecx
and esi, 0xc269aff3
mov dword [0x44d518], esi
xor esi, 0xa78b4d40
mov dword [0x44d514], esi
call fcn.00410f1d
sub ebx, dword [ebp + edi*4 - 0x28]
xor edx, edx
inc edi
cmp edi, 3
jge 0x412aef
mov esi, dword [0x44d518]
jmp 0x412a82
push 0x38
pop ecx
push 0x42
pop eax
mov dword [ebp - 0x24], eax
mov eax, edx
mov dword [ebp - 0x38c], ebx
mov dword [ebp - 0x28], 0x32
mov dword [ebp - 0x20], 0xffffff86
add ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x412b0e
push 0xd
pop eax
push 0x15
mov byte [ebp - 0x18], al
lea edi, [ebp - 0x5bc]
pop eax
mov byte [ebp - 0xb], al
mov esi, 0x401b10
push 9
pop eax
mov dword [ebp - 0x330], ecx
push 0x10
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 8], al
mov eax, dword [0x44d514]
xor eax, 0xfd6f051
mov dword [ebp - 0x1c], 0x5144d3ff
movsw word es:[edi], word [esi]
mov dword [ebp - 0x40], eax
mov eax, edx
mov dword [ebp - 0x17], 0x18c822a3
mov dword [ebp - 0x13], 0x53d95549
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xf], 0x1b70ee4c
mov edi, edx
mov word [ebp - 0xa], 0x8b41
mov word [ebp - 7], 0x71b7
mov byte [ebp - 5], 0xd3
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x412b80
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 0x42
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x5bc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x412b91
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x288]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov byte [ebp + ebx - 0x288], cl
movzx eax, byte [ebp + edi - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x498], al
inc esi
cmp esi, 0x18
jb 0x412bd9
push 0x12
pop eax
mov byte [ebp - 0x56], al
xor edx, edx
push 9
pop eax
mov byte [ebp - 0x4a], al
mov ecx, edx
mov eax, dword [0x401a04]
mov dword [ebp - 0x24], eax
mov ax, word [0x401a08]
mov word [ebp - 0x20], ax
mov eax, 0x401d40
mov byte [ebp - 0x480], dl
mov dword [ebp - 0x70], 0xacaef891
mov dword [ebp - 0x6c], 0x9ec6c179
mov dword [ebp - 0x68], 0x359c01c0
mov dword [ebp - 0x64], 0xc89475dc
mov dword [ebp - 0x60], 0xbb8ff1d9
mov dword [ebp - 0x5c], 0x9ad2ebb1
mov word [ebp - 0x58], 0x2f1a
mov dword [ebp - 0x55], 0xf6672e9b
mov dword [ebp - 0x51], 0x26cfaa53
mov word [ebp - 0x4d], 0xbbc2
mov byte [ebp - 0x4b], 0x9b
mov dword [ebp - 0x49], 0x77783c7f
mov byte [ebp - 0x45], 0x19
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x1645
jg 0x412cbc
cmp word [eax], dx
jne 0x412ca9
jmp 0x412cc6
add dword [0x44d518], 0x958b777
mov eax, dword [ebp - 0x40]
mov edi, edx
xor eax, 0x8f9cdfff
and eax, 0xf86b6899
mov dword [0x44d514], eax
mov eax, edx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x412cdc
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x24]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x412ced
xor edx, edx
mov ebx, edx
mov edi, edx
mov esi, edx
lea eax, [edi + 1]
mov ecx, edx
movzx edi, al
mov al, byte [ebp + edi - 0x288]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x40], eax
add eax, ebx
movzx ebx, al
mov eax, 0x401d40
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x247
jg 0x412d67
cmp word [eax], dx
jne 0x412d54
jmp 0x412d6c
call fcn.00410f1d
mov eax, dword [0x44d514]
add eax, 0xf1dfb9c5
or eax, 0xeea6de15
mov dword [0x44d518], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov al, byte [ebp - 1]
mov byte [ebp + ebx - 0x288], al
movzx eax, byte [ebp + edi - 0x288]
add eax, dword [ebp - 0x40]
movzx eax, al
push 0
pop edx
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0x70]
mov byte [ebp + esi - 0x824], al
inc esi
cmp esi, 0x2c
jb 0x412d32
xor ebx, ebx
mov dword [ebp - 0x28], 0x30
mov byte [ebp - 0x7f8], bl
mov ecx, ebx
mov dword [ebp - 0x24], 0x37
mov eax, ebx
mov dword [ebp - 0x20], 0xffffff99
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x412dec
mov esi, dword [0x44d514]
push 5
pop eax
mov dword [ebp - 0x318], ecx
mov ecx, 0x2400
lea edi, [esi + 0x3d9f073e]
mov dword [ebp - 0x28], eax
mov dword [0x44d518], edi
mov eax, ebx
mov dword [ebp - 0x24], 0x3d
mov dword [ebp - 0x20], 0x1fbe
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x412e29
push 0x63
mov dword [ebp - 0x314], ecx
mov edx, 0x1153
mov eax, 0x401d00
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x6d6
ja 0x412e63
movzx ecx, word [eax]
test ecx, ecx
jne 0x412e46
mov eax, edi
and eax, 0xc680d0ab
jmp 0x412e89
mov eax, 0x401d00
or esi, 0x1400b010
push edi
mov edx, eax
mov dword [0x44d514], esi
mov ecx, eax
call fcn.004110e3
pop ecx
mov eax, dword [0x44d514]
add eax, 0xa4d39cc0
add eax, 0xa9f568d8
mov dword [ebp - 0x28], 0x4a
mov dword [ebp - 0x40], eax
mov ecx, 0x1c2
mov dword [0x44d514], eax
push 0x1e
pop eax
mov dword [ebp - 0x24], eax
mov eax, ebx
mov dword [ebp - 0x20], 0x128
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x412eb1
push 0xd
pop eax
mov byte [ebp - 0xf], al
lea edi, [ebp - 0x5b4]
mov byte [ebp - 8], al
mov esi, 0x401b54
push 0xe
pop eax
mov dword [ebp - 0x310], ecx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 0xcd9750ee
mov eax, ebx
mov dword [ebp - 0x18], 0xbc53fdab
mov dword [ebp - 0x14], 0x3a7299ee
movsw word es:[edi], word [esi]
mov byte [ebp - 0x10], 0x28
mov edi, ebx
mov dword [ebp - 0xe], 0xcc007139
mov word [ebp - 0xa], 0xb08
mov word [ebp - 7], 0x2ef
mov byte [ebp - 5], 0x44
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x412f12
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 0x39
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x5b4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x412f23
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov ebx, ecx
mov edi, ecx
mov esi, ecx
lea eax, [edi + 1]
movzx edi, al
mov dword [ebp - 0x40], edi
mov al, byte [ebp + edi - 0x288]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x44], eax
add eax, ebx
movzx ebx, al
mov eax, 0x401d00
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x1c98
jg 0x412fa9
xor edi, edi
cmp word [eax], di
mov edi, dword [ebp - 0x40]
jne 0x412f91
jmp 0x412fba
call fcn.00410f1d
mov edx, dword [0x44d514]
and edx, 0x9d74badc
mov eax, dword [0x44d518]
add eax, 0xba4979
mov dword [0x44d518], eax
push eax
and edx, 0xdc07a20
mov ecx, eax
push 0x4019f0
mov dword [0x44d514], edx
call fcn.00410feb
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov al, byte [ebp - 1]
mov byte [ebp + ebx - 0x288], al
movzx eax, byte [ebp + edi - 0x288]
add eax, dword [ebp - 0x44]
movzx eax, al
pop ecx
pop ecx
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x4d0], al
inc esi
cmp esi, 0x18
jae 0x41302f
mov edx, dword [0x44d514]
xor ecx, ecx
jmp 0x412f6e
mov edx, dword [0x44d518]
lea edi, [ebp - 0x24]
mov esi, 0x401b90
mov byte [ebp - 0x1c], 0x38
push 0x4b
pop eax
push 0x11
movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov byte [ebp - 0x1b], al
pop eax
mov byte [ebp - 7], al
movsw word es:[edi], word [esi]
push 9
pop eax
mov byte [ebp - 6], al
mov eax, ebx
movsb byte es:[edi], byte [esi]
mov esi, edx
mov byte [ebp - 0x4b8], bl
or esi, 0x617af320
mov dword [ebp - 0x1a], 0x2f265a
mov dword [ebp - 0x16], 0xff37df74
mov edi, ebx
mov dword [ebp - 0x12], 0x4a97b9e2
mov dword [ebp - 0xe], 0x9f7674c8
mov word [ebp - 0xa], 0xb918
mov byte [ebp - 8], 0xaa
mov byte [ebp - 5], 0x47
mov dword [0x44d514], esi
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x41309b
mov ecx, ebx
mov eax, 0x401d40
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x254a
jg 0x4130c4
cmp word [eax], bx
jne 0x4130b1
jmp 0x4130da
mov eax, 0x401d00
push esi
mov edx, eax
mov ecx, eax
call fcn.004110e3
mov edx, dword [0x44d518]
pop ecx
or edx, 0xedfef9dc
mov dword [0x44d514], edx
call fcn.00410f1d
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x24]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x4130ed
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
mov edx, 0x1f1a
movzx edi, al
push 0x63
pop ecx
mov al, byte [ebp + edi - 0x288]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x40], eax
add eax, ebx
movzx ebx, al
mov eax, 0x401d00
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x2638
ja 0x413170
movzx ecx, word [eax]
test ecx, ecx
jne 0x41315a
jmp 0x413195
mov edx, dword [0x44d514]
mov ecx, dword [0x44d518]
sub edx, 0x240d2199
push edx
push 0x401b98
mov dword [0x44d514], edx
call fcn.00410feb
pop ecx
pop ecx
mov ecx, dword [0x44d514]
imul eax, ecx, 0x78e45cab
mov dword [0x44d518], eax
add ecx, 0x70864873
mov dword [0x44d514], ecx
call fcn.00410f1d
mov al, byte [ebp + ebx - 0x288]
mov byte [ebp + edi - 0x288], al
mov al, byte [ebp - 1]
mov byte [ebp + ebx - 0x288], al
movzx eax, byte [ebp + edi - 0x288]
add eax, dword [ebp - 0x40]
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x4b4], al
inc esi
cmp esi, 0x18
jb 0x413132
xor edx, edx
mov eax, 0x401d00
push 2
mov byte [ebp - 0x49c], dl
mov ecx, edx
pop ebx
add eax, ebx
inc ecx
cmp ecx, 0x12fd
je 0x41321b
cmp word [eax], dx
jne 0x41320b
imul eax, dword [0x44d514], 0xe376e5b2
mov dword [0x44d514], eax
mov dword [ebp - 0x80], ebx
xorps xmm1, xmm1
mov dword [ebp - 0x7c], 0x3b
and eax, 0xff0e80ed
mov dword [ebp - 0x78], 0x34
mov dword [ebp - 0x74], 0xffffff8f
movups xmm0, xmmword [ebp - 0x80]
push 0x56
pop ebx
psubd xmm1, xmm0
mov dword [ebp - 0x40], eax
movaps xmm0, xmm1
mov dword [ebp - 0x24], 0x2b
psrldq xmm0, 8
mov ecx, ebx
paddd xmm1, xmm0
mov dword [ebp - 0x20], 0x37f
movups xmm0, xmm1
mov eax, edx
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x324], xmm1
add ecx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, 2
jl 0x41328a
push 5
pop eax
mov dword [ebp - 0x320], ecx
mov ecx, eax
push 7
pop eax
mov dword [ebp - 0x28], eax
mov eax, edx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0xffffffd0
add ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x4132b1
mov esi, 0x401ba4
mov dword [ebp - 0x31c], ecx
lea edi, [ebp - 0x80]
mov dword [ebp - 0x1c], 0x6238a33c
push 0x4b
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x17], al
push 9
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x11], al
mov eax, edx
mov byte [ebp - 0x18], 0x87
mov dword [ebp - 0x16], 0xb3fe57a2
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x12], 0xa7
mov dword [ebp - 0x10], 0xc4b83f3e
mov dword [ebp - 0xc], 0xe86ab0f4
movsw word es:[edi], word [esi]
mov dword [ebp - 8], 0xb6a428e9
movsb byte es:[edi], byte [esi]
mov edi, edx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x41330a
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x288]
push 0xe
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x80]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], bl
cmp esi, 0x100
jb 0x41331b
mov esi, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x44], eax
mov ebx, eax
mov edi, eax
push 0x6f
mov ecx, 0x401d40
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x413386
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x41336c
jmp 0x41338c
and esi, 0x7a21ec1b
push dword [0x44d514]
sub esi, 0x6c240263
mov edx, 0x401d00
mov ecx, 0x401d40
mov dword [0x44d518], esi
call fcn.004110e3
lea eax, [ebx + 1]
movzx ebx, al
mov eax, dword [ebp - 0x44]
pop ecx
push 0x63
mov cl, byte [ebp + ebx - 0x288]
movzx esi, cl
add eax, esi
movzx edx, al
mov dword [ebp - 0x44], edx
mov al, byte [ebp + edx - 0x288]
mov byte [ebp + ebx - 0x288], al
mov byte [ebp + edx - 0x288], cl
mov ecx, 0x401d00
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x413405
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x4133e6
mov eax, dword [0x44d514]
jmp 0x41340f
imul eax, dword [0x44d514], 0x66e3939d
push dword [0x44d518]
or eax, 0x43842217
mov dword [0x44d514], eax
mov eax, 0x401d00
mov edx, eax
mov ecx, eax
call fcn.004110e3
movzx eax, byte [ebp + ebx - 0x288]
add eax, esi
movzx eax, al
pop ecx
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + edi - 0x1c]
mov byte [ebp + edi - 0x4ec], al
inc edi
cmp edi, 0x18
jae 0x41345e
mov esi, dword [0x44d518]
jmp 0x413364
push 0x52
pop edx
xor ebx, ebx
mov dword [ebp - 0xd0], edx
mov edi, 0x401d00
mov byte [ebp - 0x4d4], bl
push 2
mov dword [ebp - 0x24], 0x64
mov eax, ebx
mov dword [ebp - 0x20], 0xffffff4a
mov ecx, edi
pop esi
add ecx, esi
inc eax
cmp eax, 0xb5c
je 0x4134b3
cmp word [ecx], bx
jne 0x413489
mov ecx, dword [0x44d514]
cmp eax, 0x23af
jle 0x4134d2
xor ecx, 0xec174352
mov dword [0x44d514], ecx
jmp 0x4134d2
push dword [0x44d514]
mov edx, edi
mov ecx, 0x401d40
call fcn.004110e3
mov edx, dword [ebp - 0xd0]
pop ecx
mov ecx, dword [0x44d514]
lea eax, [ecx + 0xa494add]
mov dword [0x44d518], eax
mov eax, ebx
add edx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, esi
jl 0x4134df
push ecx
mov dword [ebp - 0xd0], edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
push 0x26
pop edx
mov dword [ebp - 0x28], 0xc
mov eax, ebx
mov dword [ebp - 0x24], edx
mov ecx, 0x2000
mov dword [ebp - 0x20], 0x1bce
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0x413510
push 5
mov dword [ebp - 0x32c], ecx
mov eax, ebx
mov dword [ebp - 0x94], edx
mov ecx, 0x226
mov dword [ebp - 0xa0], 0x18
mov dword [ebp - 0x9c], 0x52
mov dword [ebp - 0x98], 0x63
mov dword [ebp - 0x90], 0x101
pop edx
sub ecx, dword [ebp + eax*4 - 0xa0]
inc eax
cmp eax, edx
jl 0x413558
mov edx, dword [0x44d514]
mov eax, ebx
push 0x47
mov dword [ebp - 0x328], ecx
pop ecx
lea edi, [edx - 0x7bfaf044]
mov dword [ebp - 0x24], 0x10
mov dword [ebp - 0x20], 0xffffffa9
mov dword [0x44d518], edi
add ecx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, esi
jl 0x41358f
push 0x2f
mov dword [ebp - 0x2f4], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 0x24], 0x33
mov dword [ebp - 0x20], 0xffffff9e
add ecx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, esi
jl 0x4135b1
mov dword [ebp - 0x188], ecx
mov eax, ebx
mov ecx, 0x401d40
add ecx, esi
inc eax
cmp eax, 0xf02
je 0x4135df
cmp word [ecx], bx
jne 0x4135c7
cmp eax, 0xb40
jle 0x413614
jmp 0x413608
push edx
mov edx, 0x401d40
mov ecx, 0x401d00
call fcn.004110e3
add dword [0x44d514], 0x13a1c777
pop ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor edi, 0xd99eae0e
or edi, 0x1f3ab867
mov dword [0x44d518], edi
mov ecx, edi
mov dword [ebp - 0xa0], 0x63
push 5
and ecx, 0xe77f7c7a
mov dword [ebp - 0x9c], 0x22
mov edx, 0x2800
mov dword [ebp - 0x98], 0x2b
mov dword [ebp - 0x94], 0x5d
mov eax, ebx
mov dword [ebp - 0x90], 0x22f3
pop esi
sub edx, dword [ebp + eax*4 - 0xa0]
inc eax
cmp eax, esi
jl 0x413658
or ecx, 0x694edbfe
mov dword [ebp - 0x184], edx
push 0x16
xor eax, eax
mov dword [0x44d514], ecx
pop ebx
mov dword [ebp - 0x24], 0x23
mov esi, eax
mov dword [ebp - 0x20], 0x1c7
push 0x6f
mov edx, 0x2512
mov eax, 0x401d40
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0xf60
ja 0x4136ae
movzx ecx, word [eax]
test ecx, ecx
jne 0x413698
jmp 0x4136c5
push edi
mov edx, 0x401d40
mov ecx, 0x401d00
call fcn.004110e3
mov edi, dword [0x44d518]
pop ecx
lea eax, [edi - 0x3574dd98]
mov dword [0x44d514], eax
push eax
mov eax, 0x401d40
mov edx, eax
mov ecx, eax
call fcn.004110e3
add ebx, dword [ebp + esi*4 - 0x24]
inc esi
pop ecx
cmp esi, 2
jge 0x4136f2
mov edi, dword [0x44d518]
jmp 0x41368b
push 0x3d
pop ecx
mov dword [ebp - 0x2b0], ebx
mov ebx, dword [0x44d514]
push 0x14
add ebx, 0x6ec9b7fa
mov dword [ebp - 0x20], 0xffffffaf
pop eax
xor edx, edx
mov dword [ebp - 0x24], eax
mov dword [0x44d514], ebx
mov eax, edx
add ecx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, 2
jl 0x41371e
push 0x39
pop eax
mov dword [ebp - 0xa0], eax
mov eax, edx
push 5
mov dword [ebp - 0x174], ecx
mov ecx, 0x2400
mov dword [ebp - 0x9c], 0x46
mov dword [ebp - 0x98], 0x3c
mov dword [ebp - 0x94], 0x16
mov dword [ebp - 0x90], 0x1f2f
pop edx
sub ecx, dword [ebp + eax*4 - 0xa0]
inc eax
cmp eax, edx
jl 0x413769
mov dword [ebp - 0x80], 0x5a
lea edi, [ebp - 0x28]
mov dword [ebp - 0x7c], 0xa
xorps xmm1, xmm1
mov dword [ebp - 0x78], 0x45
mov esi, 0x401bb4
mov dword [ebp - 0x74], 0x1e1
movups xmm0, xmmword [ebp - 0x80]
mov dword [ebp - 0x170], ecx
mov ecx, dword [0x44d518]
psubd xmm1, xmm0
movsd dword es:[edi], dword [esi]
movaps xmm0, xmm1
mov dword [ebp - 0x70], 0x2dbd68d1
psrldq xmm0, 8
or ecx, 0xfb4345ff
paddd xmm1, xmm0
mov dword [0x44d518], ecx
movups xmm0, xmm1
movsd dword es:[edi], dword [esi]
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x6c], 0x121204d
movd eax, xmm1
push 0x13
movsb byte es:[edi], byte [esi]
add eax, 0x2bc
mov dword [ebp - 0x68], 0xa3f4d562
mov dword [ebp - 0x16c], eax
mov edi, 0x401d40
pop eax
push 0x6f
mov byte [ebp - 0x4e], al
mov esi, 0x128f
mov dword [ebp - 0x64], 0x675082e0
mov eax, edi
mov dword [ebp - 0x60], 0x9a3bf18c
mov dword [ebp - 0x5c], 0x2ec0e9e7
mov dword [ebp - 0x58], 0x36721b4a
mov dword [ebp - 0x54], 0x1817813f
mov word [ebp - 0x50], 0x1b3e
mov dword [ebp - 0x4d], 0x18a9823
mov dword [ebp - 0x49], 0x3ce6798d
mov byte [ebp - 0x45], 0x8f
pop edx
add esi, edx
lea eax, [eax + 2]
cmp esi, 0x9b7
ja 0x413861
movzx edx, word [eax]
test edx, edx
jne 0x41384b
jmp 0x413881
and ecx, 0xcd98ba14
mov edx, edi
mov dword [0x44d518], ecx
mov ecx, 0x401d00
push ebx
call fcn.004110e3
pop ecx
mov ecx, dword [0x44d518]
push 0x63
pop edi
push 9
imul esi, ecx, 0x4b5d6ade
mov edx, 0x401d00
pop ebx
lea eax, [edi - 0x30]
cmp ax, bx
ja 0x4138a9
add edx, 2
movzx eax, word [edx]
mov edi, eax
test ax, ax
jne 0x413892
jmp 0x4138b5
lea ecx, [esi + 0x3799ba04]
mov dword [0x44d518], ecx
or esi, 0x186e027
push ecx
push 0x401bc0
mov edx, esi
mov dword [0x44d514], esi
mov ecx, esi
call fcn.00410feb
xor ebx, ebx
pop ecx
pop ecx
mov edi, ebx
mov eax, ebx
mov byte [ebp + eax - 0x288], al
inc eax
cmp eax, 0x100
jb 0x4138d8
push 7
mov esi, ebx
pop ebx
mov dl, byte [ebp + esi - 0x288]
mov eax, esi
and eax, ebx
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x288]
mov byte [ebp + esi - 0x288], al
inc esi
mov byte [ebp + edi - 0x288], dl
cmp esi, 0x100
jb 0x4138ec
mov esi, dword [0x44d518]
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x38], ebx
mov edi, eax
push 0x6f
mov ecx, 0x401d40
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x413955
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x41393b
jmp 0x41395b
sub esi, 0x14a4c907
imul eax, dword [0x44d514], 0x3730e3a
mov dword [0x44d514], eax
lea eax, [ebx + 1]
movzx ebx, al
mov eax, dword [ebp - 0x38]
mov cl, byte [ebp + ebx - 0x288]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x38], eax
mov al, byte [ebp + eax - 0x288]
mov byte [ebp + ebx - 0x288], al
mov eax, dword [ebp - 0x38]
mov byte [ebp + eax - 0x288], cl
movzx eax, byte [ebp + ebx - 0x288]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x288]
xor al, byte [ebp + edi - 0x70]
mov byte [ebp + edi - 0x854], al
inc edi
cmp edi, 0x2c
jb 0x413933
mov dword [ebp - 0x44], esi
lea edi, [ebp - 0xa0]
mov esi, 0x401be0
mov dword [ebp - 0x1c], 0xf9ceaa6a
xor eax, eax
mov dword [ebp - 0x18], 0x74dfdded
push 0xe
pop ecx
movsd dword es:[edi], dword [esi]
mov ebx, eax
mov byte [ebp - 0x828], al
mov dword [ebp - 0x14], 0x18e384c8
mov byte [ebp - 0x10], 0x30
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0xf], cl
mov dword [ebp - 0xe], 0xd8a86e65
mov dword [ebp - 0xa], 0x1a3c64ef
movsd dword es:[edi], dword [esi]
mov word [ebp - 6], 0xf0fc
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x44]
mov edi, eax
push 0x6f
mov ecx, 0x401d40
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x413a3f
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x413a25
imul esi, esi, 0x24b027c4
xor esi, 0x2a24034b
mov dword [0x44d518], esi
call fcn.00410f1d
mov byte [ebp + ebx - 0x288], bl
inc ebx
cmp ebx, 0x100
jae 0x413a6e