Function at 0x4047d7
Capabilities:
Enumerate processes
Get file attributes
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4cc
mov dword [esp], 0x43a324
call fcn.00417d10
mov dword [esp], 0x43a314
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x404820
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 7
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43bb6c
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
cmp byte [eax + 0xa], 0
jne 0x4048d9
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
cmp dword [ebp - 0x4b4], ebx
jne 0x404887
mov si, word [ebp - 0x4ae]
jmp 0x4048c4
cmp dword [ebp - 0x4ac], ebx
jne 0x404897
mov esi, dword [ebp - 0x4b0]
jmp 0x4048c4
cmp ecx, ebx
jne 0x4048a5
lea ebx, [edx - 0x78]
xor word [eax + edx*2 + 0xc], bx
jmp 0x4048d3
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x4048b3
mov esi, edi
jmp 0x4048c4
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x4048d3
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x404874
inc edx
cmp edx, 0xe
jne 0x404874
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x244]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a344
call fcn.00417d10
mov dword [esp], 0x43a334
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x404935
xor edx, edx
mov esi, 0x43bb2c
mov ecx, 8
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x404935
cmp byte [eax + 0xa], 0
jne 0x4049f2
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x40499e
mov si, word [ebp - 0x4ae]
jmp 0x4049dd
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x4049b0
mov esi, dword [ebp - 0x4b0]
jmp 0x4049dd
cmp ebx, ecx
jne 0x4049be
lea ebx, [edx - 0x77]
xor word [eax + edx*2 + 0xc], bx
jmp 0x4049ec
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x4049cc
mov esi, edi
jmp 0x4049dd
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x4049ec
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x404989
inc edx
cmp edx, 0x10
jne 0x404989
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x22c]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a364
call fcn.00417d10
mov dword [esp], 0x43a354
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x404a53
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 6
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43baec
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x404a53
cmp byte [eax + 0xa], 0
jne 0x404b10
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x404abc
mov si, word [ebp - 0x4ae]
jmp 0x404afb
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x404ace
mov esi, dword [ebp - 0x4b0]
jmp 0x404afb
cmp ebx, ecx
jne 0x404adc
lea ebx, [edx - 0x77]
xor word [eax + edx*2 + 0xc], bx
jmp 0x404b0a
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x404aea
mov esi, edi
jmp 0x404afb
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x404b0a
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x404aa7
inc edx
cmp edx, 0xc
jne 0x404aa7
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x214]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a384
call fcn.00417d10
mov dword [esp], 0x43a374
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x404b71
xor edx, edx
mov esi, 0x43bab4
mov ecx, 4
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x404b71
cmp byte [eax + 0xa], 0
jne 0x404c2e
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x404bda
mov si, word [ebp - 0x4ae]
jmp 0x404c19
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x404bec
mov esi, dword [ebp - 0x4b0]
jmp 0x404c19
cmp ebx, ecx
jne 0x404bfa
lea ebx, [edx - 0x77]
xor word [eax + edx*2 + 0xc], bx
jmp 0x404c28
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x404c08
mov esi, edi
jmp 0x404c19
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x404c28
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x404bc5
inc edx
cmp edx, 8
jne 0x404bc5
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x1fc]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a3a4
call fcn.00417d10
mov dword [esp], 0x43a394
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x404c8f
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 7
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43ba8c
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x404c8f
cmp byte [eax + 0xa], 0
jne 0x404d4c
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x404cf8
mov si, word [ebp - 0x4ae]
jmp 0x404d37
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x404d0a
mov esi, dword [ebp - 0x4b0]
jmp 0x404d37
cmp ebx, ecx
jne 0x404d18
lea ebx, [edx - 0x76]
xor word [eax + edx*2 + 0xc], bx
jmp 0x404d46
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x404d26
mov esi, edi
jmp 0x404d37
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x404d46
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x404ce3
inc edx
cmp edx, 0xe
jne 0x404ce3
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x1e4]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a3c4
call fcn.00417d10
mov dword [esp], 0x43a3b4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x404dad
xor edx, edx
mov esi, 0x43ba4c
mov ecx, 0x22
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
jmp 0x404dad
cmp byte [eax + 0xa], 0
jne 0x404e6a
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x404e16
mov si, word [ebp - 0x4ae]
jmp 0x404e55
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x404e28
mov esi, dword [ebp - 0x4b0]
jmp 0x404e55
cmp ebx, ecx
jne 0x404e36
lea ebx, [edx - 0x76]
xor word [eax + edx*2 + 0xc], bx
jmp 0x404e64
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x404e44
mov esi, edi
jmp 0x404e55
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x404e64
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x404e01
inc edx
cmp edx, 0x11
jne 0x404e01
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a3e4
call fcn.00417d10
mov dword [esp], 0x43a3d4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x404ecb
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 4
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43ba2c
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x404ecb
cmp byte [eax + 0xa], 0
jne 0x404f88
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x404f34
mov si, word [ebp - 0x4ae]
jmp 0x404f73
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x404f46
mov esi, dword [ebp - 0x4b0]
jmp 0x404f73
cmp ebx, ecx
jne 0x404f54
lea ebx, [edx - 0x75]
xor word [eax + edx*2 + 0xc], bx
jmp 0x404f82
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x404f62
mov esi, edi
jmp 0x404f73
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x404f82
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x404f1f
inc edx
cmp edx, 8
jne 0x404f1f
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x1b4]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a404
call fcn.00417d10
mov dword [esp], 0x43a3f4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x404fe9
xor edx, edx
mov esi, 0x43ba10
mov ecx, 4
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x404fe9
cmp byte [eax + 0xa], 0
jne 0x4050a6
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405052
mov si, word [ebp - 0x4ae]
jmp 0x405091
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405064
mov esi, dword [ebp - 0x4b0]
jmp 0x405091
cmp ebx, ecx
jne 0x405072
lea ebx, [edx - 0x75]
xor word [eax + edx*2 + 0xc], bx
jmp 0x4050a0
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405080
mov esi, edi
jmp 0x405091
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x4050a0
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x40503d
inc edx
cmp edx, 8
jne 0x40503d
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x19c]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a424
call fcn.00417d10
mov dword [esp], 0x43a414
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405107
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 6
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43b9ec
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x405107
cmp byte [eax + 0xa], 0
jne 0x4051c4
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405170
mov si, word [ebp - 0x4ae]
jmp 0x4051af
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405182
mov esi, dword [ebp - 0x4b0]
jmp 0x4051af
cmp ebx, ecx
jne 0x405190
lea ebx, [edx - 0x75]
xor word [eax + edx*2 + 0xc], bx
jmp 0x4051be
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x40519e
mov esi, edi
jmp 0x4051af
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x4051be
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x40515b
inc edx
cmp edx, 0xc
jne 0x40515b
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x184]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a444
call fcn.00417d10
mov dword [esp], 0x43a434
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405225
xor edx, edx
mov esi, 0x43b9ac
mov ecx, 0x16
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
jmp 0x405225
cmp byte [eax + 0xa], 0
jne 0x4052e2
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x40528e
mov si, word [ebp - 0x4ae]
jmp 0x4052cd
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x4052a0
mov esi, dword [ebp - 0x4b0]
jmp 0x4052cd
cmp ebx, ecx
jne 0x4052ae
lea ebx, [edx - 0x74]
xor word [eax + edx*2 + 0xc], bx
jmp 0x4052dc
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x4052bc
mov esi, edi
jmp 0x4052cd
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x4052dc
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x405279
inc edx
cmp edx, 0xb
jne 0x405279
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x16c]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a464
call fcn.00417d10
mov dword [esp], 0x43a454
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405343
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 6
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43b96c
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x405343
cmp byte [eax + 0xa], 0
jne 0x405400
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x4053ac
mov si, word [ebp - 0x4ae]
jmp 0x4053eb
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x4053be
mov esi, dword [ebp - 0x4b0]
jmp 0x4053eb
cmp ebx, ecx
jne 0x4053cc
lea ebx, [edx - 0x74]
xor word [eax + edx*2 + 0xc], bx
jmp 0x4053fa
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x4053da
mov esi, edi
jmp 0x4053eb
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x4053fa
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x405397
inc edx
cmp edx, 0xc
jne 0x405397
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x154]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a484
call fcn.00417d10
mov dword [esp], 0x43a474
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405461
xor edx, edx
mov esi, 0x43b92c
mov ecx, 6
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x405461
cmp byte [eax + 0xa], 0
jne 0x40551e
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x4054ca
mov si, word [ebp - 0x4ae]
jmp 0x405509
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x4054dc
mov esi, dword [ebp - 0x4b0]
jmp 0x405509
cmp ebx, ecx
jne 0x4054ea
lea ebx, [edx - 0x73]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405518
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x4054f8
mov esi, edi
jmp 0x405509
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405518
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x4054b5
inc edx
cmp edx, 0xc
jne 0x4054b5
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x13c]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a4a4
call fcn.00417d10
mov dword [esp], 0x43a494
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x40557f
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 7
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43b8ec
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x40557f
cmp byte [eax + 0xa], 0
jne 0x40563c
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x4055e8
mov si, word [ebp - 0x4ae]
jmp 0x405627
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x4055fa
mov esi, dword [ebp - 0x4b0]
jmp 0x405627
cmp ebx, ecx
jne 0x405608
lea ebx, [edx - 0x73]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405636
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405616
mov esi, edi
jmp 0x405627
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405636
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x4055d3
inc edx
cmp edx, 0xe
jne 0x4055d3
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x124]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a4c4
call fcn.00417d10
mov dword [esp], 0x43a4b4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x40569d
xor edx, edx
mov esi, 0x43b8ac
mov ecx, 8
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x40569d
cmp byte [eax + 0xa], 0
jne 0x40575a
mov ecx, dword [eax + 4]
xor edx, edx
lea edi, [ecx + 1]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 4]
mov word [ebp - 0x4be], di
lea edi, [ecx + 2]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 1]
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405706
mov si, word [ebp - 0x4ae]
jmp 0x405745
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405718
mov esi, dword [ebp - 0x4b0]
jmp 0x405745
cmp ebx, ecx
jne 0x405726
lea ebx, [edx - 0x73]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405754
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405734
mov esi, edi
jmp 0x405745
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405754
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x4056f1
inc edx
cmp edx, 0x10
jne 0x4056f1
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x10c]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a4e4
call fcn.00417d10
mov dword [esp], 0x43a4d4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x4057bb
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 5
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43b88c
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x4057bb
cmp byte [eax + 0xa], 0
jne 0x405878
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
lea edx, [ecx + 5]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 2]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4bc], edx
lea edx, [ecx + 2]
mov word [ebp - 0x4be], di
lea edi, [ecx + 1]
mov word [ebp - 0x4b0], dx
xor edx, edx
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405824
mov si, word [ebp - 0x4ae]
jmp 0x405863
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405836
mov esi, dword [ebp - 0x4b0]
jmp 0x405863
cmp ebx, ecx
jne 0x405844
lea ebx, [edx - 0x72]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405872
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405852
mov esi, edi
jmp 0x405863
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405872
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x40580f
inc edx
cmp edx, 0xa
jne 0x40580f
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0xf4]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a504
call fcn.00417d10
mov dword [esp], 0x43a4f4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x4058d9
xor edx, edx
mov esi, 0x43b84c
mov ecx, 8
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x4058d9
cmp byte [eax + 0xa], 0
jne 0x405996
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
lea edi, [ecx + 2]
mov dword [ebp - 0x4ac], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4b8], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 2]
mov word [ebp - 0x4be], dx
lea edx, [ecx + 1]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 3]
mov word [ebp - 0x4ae], dx
xor edx, edx
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405942
mov si, word [ebp - 0x4ae]
jmp 0x405981
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405954
mov esi, dword [ebp - 0x4b0]
jmp 0x405981
cmp ebx, ecx
jne 0x405962
lea ebx, [edx - 0x72]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405990
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405970
mov esi, edi
jmp 0x405981
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405990
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x40592d
inc edx
cmp edx, 0x10
jne 0x40592d
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0xdc]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a524
call fcn.00417d10
mov dword [esp], 0x43a514
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x4059f7
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 0x1a
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43b80c
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
jmp 0x4059f7
cmp byte [eax + 0xa], 0
jne 0x405ab4
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
lea edx, [ecx + 2]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b4], edx
lea edx, [ecx + 5]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4bc], edx
lea edx, [ecx + 2]
mov word [ebp - 0x4be], di
lea edi, [ecx + 1]
mov word [ebp - 0x4b0], dx
xor edx, edx
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405a60
mov si, word [ebp - 0x4ae]
jmp 0x405a9f
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405a72
mov esi, dword [ebp - 0x4b0]
jmp 0x405a9f
cmp ebx, ecx
jne 0x405a80
lea ebx, [edx - 0x72]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405aae
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405a8e
mov esi, edi
jmp 0x405a9f
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405aae
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x405a4b
inc edx
cmp edx, 0xd
jne 0x405a4b
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0xc4]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a544
call fcn.00417d10
mov dword [esp], 0x43a534
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405b15
xor edx, edx
mov esi, 0x43b7ac
mov ecx, 0xe
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x405b15
cmp byte [eax + 0xa], 0
jne 0x405bd2
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
lea edi, [ecx + 2]
mov dword [ebp - 0x4ac], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4b8], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 2]
mov word [ebp - 0x4be], dx
lea edx, [ecx + 1]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 3]
mov word [ebp - 0x4ae], dx
xor edx, edx
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405b7e
mov si, word [ebp - 0x4ae]
jmp 0x405bbd
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405b90
mov esi, dword [ebp - 0x4b0]
jmp 0x405bbd
cmp ebx, ecx
jne 0x405b9e
lea ebx, [edx - 0x71]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405bcc
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405bac
mov esi, edi
jmp 0x405bbd
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405bcc
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x405b69
inc edx
cmp edx, 0x1c
jne 0x405b69
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0xac]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a564
call fcn.00417d10
mov dword [esp], 0x43a554
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405c33
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 0x1e
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43b76c
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
jmp 0x405c33
cmp byte [eax + 0xa], 0
jne 0x405cf0
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
lea edx, [ecx + 2]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b4], edx
lea edx, [ecx + 5]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4bc], edx
lea edx, [ecx + 2]
mov word [ebp - 0x4be], di
lea edi, [ecx + 1]
mov word [ebp - 0x4b0], dx
xor edx, edx
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405c9c
mov si, word [ebp - 0x4ae]
jmp 0x405cdb
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405cae
mov esi, dword [ebp - 0x4b0]
jmp 0x405cdb
cmp ebx, ecx
jne 0x405cbc
lea ebx, [edx - 0x71]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405cea
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405cca
mov esi, edi
jmp 0x405cdb
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405cea
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x405c87
inc edx
cmp edx, 0xf
jne 0x405c87
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x94]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a584
call fcn.00417d10
mov dword [esp], 0x43a574
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405d51
xor edx, edx
mov esi, 0x43b72c
mov ecx, 0x1e
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
jmp 0x405d51
cmp byte [eax + 0xa], 0
jne 0x405e0e
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
lea edi, [ecx + 2]
mov dword [ebp - 0x4ac], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4b8], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 2]
mov word [ebp - 0x4be], dx
lea edx, [ecx + 1]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 3]
mov word [ebp - 0x4ae], dx
xor edx, edx
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405dba
mov si, word [ebp - 0x4ae]
jmp 0x405df9
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405dcc
mov esi, dword [ebp - 0x4b0]
jmp 0x405df9
cmp ebx, ecx
jne 0x405dda
lea ebx, [edx - 0x70]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405e08
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405de8
mov esi, edi
jmp 0x405df9
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405e08
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x405da5
inc edx
cmp edx, 0xf
jne 0x405da5
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x7c]
mov dword [esp], eax
call fcn.00401592
push edi
mov dword [esp], 0x43a5a4
call fcn.00417d10
mov dword [esp], 0x43a594
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405e6c
xor esi, esi
lea edx, [eax + 0xc]
mov ecx, 7
mov dword [eax], esi
mov edi, edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, 0x43b6ec
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
jmp 0x405e6c
cmp byte [eax + 0xa], 0
jne 0x405f29
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
lea edx, [ecx + 2]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b4], edx
lea edx, [ecx + 5]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4bc], edx
lea edx, [ecx + 2]
mov word [ebp - 0x4be], di
lea edi, [ecx + 1]
mov word [ebp - 0x4b0], dx
xor edx, edx
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405ed5
mov si, word [ebp - 0x4ae]
jmp 0x405f14
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x405ee7
mov esi, dword [ebp - 0x4b0]
jmp 0x405f14
cmp ebx, ecx
jne 0x405ef5
lea ebx, [edx - 0x70]
xor word [eax + edx*2 + 0xc], bx
jmp 0x405f23
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x405f03
mov esi, edi
jmp 0x405f14
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x405f23
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x405ec0
inc edx
cmp edx, 0xe
jne 0x405ec0
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x64]
mov dword [esp], eax
call fcn.00401592
push ecx
mov dword [esp], 0x43a5c4
call fcn.00417d10
mov dword [esp], 0x43a5b4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x405f87
xor edx, edx
mov esi, 0x43b6ac
mov ecx, 0x16
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
jmp 0x405f87
cmp byte [eax + 0xa], 0
jne 0x406044
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
lea edi, [ecx + 2]
mov dword [ebp - 0x4ac], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4b8], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 2]
mov word [ebp - 0x4be], dx
lea edx, [ecx + 1]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 3]
mov word [ebp - 0x4ae], dx
xor edx, edx
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x405ff0
mov si, word [ebp - 0x4ae]
jmp 0x40602f
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x406002
mov esi, dword [ebp - 0x4b0]
jmp 0x40602f
cmp ebx, ecx
jne 0x406010
lea ebx, [edx - 0x70]
xor word [eax + edx*2 + 0xc], bx
jmp 0x40603e
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x40601e
mov esi, edi
jmp 0x40602f
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x40603e
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x405fdb
inc edx
cmp edx, 0xb
jne 0x405fdb
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x4c]
mov dword [esp], eax
call fcn.00401592
push eax
mov dword [esp], 0x43a5e4
call fcn.00417d10
mov dword [esp], 0x43a5d4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x4060a2
xor edi, edi
lea edx, [eax + 0xc]
mov esi, 0x43b66c
mov ecx, 0x1e
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
jmp 0x4060a2
cmp byte [eax + 0xa], 0
jne 0x40615f
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
lea edx, [ecx + 2]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b4], edx
lea edx, [ecx + 5]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4bc], edx
lea edx, [ecx + 2]
mov word [ebp - 0x4be], di
lea edi, [ecx + 1]
mov word [ebp - 0x4b0], dx
xor edx, edx
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x40610b
mov si, word [ebp - 0x4ae]
jmp 0x40614a
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x40611d
mov esi, dword [ebp - 0x4b0]
jmp 0x40614a
cmp ebx, ecx
jne 0x40612b
lea ebx, [edx - 0x6f]
xor word [eax + edx*2 + 0xc], bx
jmp 0x406159
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x406139
mov esi, edi
jmp 0x40614a
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x406159
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x4060f6
inc edx
cmp edx, 0xf
jne 0x4060f6
mov byte [eax + 0xa], 1
add eax, 0xc
lea ecx, [ebp - 0x34]
mov dword [esp], eax
call fcn.00401592
push esi
lea edi, [ebp - 0x244]
lea ecx, [ebp - 0x4a0]
lea esi, [ebp - 0x1c]
mov dword [esp], edi
mov dword [esp + 4], 0x17
call fcn.00401678
push ebx
push ebx
jmp 0x4061a5
sub esi, 0x18
mov ecx, esi
call fcn.004318a0
cmp esi, edi
jne 0x4061a5
mov dword [esp], 0x43a604
call fcn.00417d10
mov dword [esp], 0x43a5f4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x4061f0
xor ecx, ecx
lea edx, [eax + 0xc]
mov esi, 0x43b62c
mov dword [eax], ecx
mov edi, edx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x1a
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
cmp byte [eax + 0xa], 0
jne 0x4062ad
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
lea edi, [ecx + 2]
mov dword [ebp - 0x4ac], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4b8], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 2]
mov word [ebp - 0x4be], dx
lea edx, [ecx + 1]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 3]
mov word [ebp - 0x4ae], dx
xor edx, edx
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x406259
mov si, word [ebp - 0x4ae]
jmp 0x406298
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x40626b
mov esi, dword [ebp - 0x4b0]
jmp 0x406298
cmp ebx, ecx
jne 0x406279
lea ebx, [edx - 0x6f]
xor word [eax + edx*2 + 0xc], bx
jmp 0x4062a7
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x406287
mov esi, edi
jmp 0x406298
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x4062a7
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x406244
inc edx
cmp edx, 0xd
jne 0x406244
mov byte [eax + 0xa], 1
lea edx, [ebp - 0x44c]
add eax, 0xc
mov dword [esp + 8], 0x104
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
dec eax
sub esp, 0xc
cmp eax, 0x102
ja 0x4066d2
mov dword [esp], 0x43a624
call fcn.00417d10
mov dword [esp], 0x43a614
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x40631b
xor edx, edx
mov esi, 0x43b5cc
mov ecx, 0x36
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
cmp byte [eax + 0xa], 0
jne 0x4063d8
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
lea edx, [ecx + 2]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b4], edx
lea edx, [ecx + 5]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4bc], edx
lea edx, [ecx + 2]
mov word [ebp - 0x4be], di
lea edi, [ecx + 1]
mov word [ebp - 0x4b0], dx
xor edx, edx
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x406384
mov si, word [ebp - 0x4ae]
jmp 0x4063c3
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x406396
mov esi, dword [ebp - 0x4b0]
jmp 0x4063c3
cmp ebx, ecx
jne 0x4063a4
lea ebx, [edx - 0x6e]
xor word [eax + edx*2 + 0xc], bx
jmp 0x4063d2
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x4063b2
mov esi, edi
jmp 0x4063c3
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x4063d2
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x40636f
inc edx
cmp edx, 0x1b
jne 0x40636f
mov byte [eax + 0xa], 1
lea ebx, [eax + 0xc]
lea eax, [ebp - 0x44c]
mov dword [esp], eax
lea esi, [ebp - 0x244]
mov ecx, esi
call fcn.00401592
push eax
mov ecx, esi
mov dword [esp], ebx
call fcn.004327e0
push ebx
lea ecx, [ebp - 0x494]
mov dword [esp], eax
call fcn.00434130
mov ecx, esi
push edi
call fcn.004318a0
mov eax, dword [ebp - 0x494]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
inc eax
push ecx
jne 0x4066c2
mov dword [esp], 0x43a644
call fcn.00417d10
mov dword [esp], 0x43a634
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x40646b
xor edx, edx
mov esi, 0x43b594
mov ecx, 0xe
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
lea edx, [eax + 0xc]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
cmp byte [eax + 0xa], 0
jne 0x406528
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
lea edi, [ecx + 2]
mov dword [ebp - 0x4ac], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4b4], edi
lea edi, [ecx + 5]
mov dword [ebp - 0x4b8], edx
lea edx, [ecx + 4]
mov dword [ebp - 0x4bc], edi
lea edi, [ecx + 2]
mov word [ebp - 0x4be], dx
lea edx, [ecx + 1]
mov word [ebp - 0x4b0], di
lea edi, [ecx + 3]
mov word [ebp - 0x4ae], dx
xor edx, edx
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x4064d4
mov si, word [ebp - 0x4ae]
jmp 0x406513
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x4064e6
mov esi, dword [ebp - 0x4b0]
jmp 0x406513
cmp ebx, ecx
jne 0x4064f4
lea ebx, [edx - 0x6e]
xor word [eax + edx*2 + 0xc], bx
jmp 0x406522
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x406502
mov esi, edi
jmp 0x406513
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x406522
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x4064bf
inc edx
cmp edx, 7
jne 0x4064bf
mov byte [eax + 0xa], 1
lea edx, [ebp - 0x244]
add eax, 0xc
mov dword [esp + 8], 0x104
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
dec eax
sub esp, 0xc
cmp eax, 0x102
ja 0x4066b5
mov dword [esp], 0x43a664
call fcn.00417d10
mov dword [esp], 0x43a654
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
jne 0x406596
xor edi, edi
lea edx, [eax + 0xc]
mov esi, 0x43b56c
mov ecx, 7
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
cmp byte [eax + 0xa], 0
jne 0x406653
mov ecx, dword [eax + 4]
lea edi, [ecx + 1]
lea edx, [ecx + 2]
mov dword [ebp - 0x4ac], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4b4], edx
lea edx, [ecx + 5]
mov dword [ebp - 0x4b8], edi
lea edi, [ecx + 4]
mov dword [ebp - 0x4bc], edx
lea edx, [ecx + 2]
mov word [ebp - 0x4be], di
lea edi, [ecx + 1]
mov word [ebp - 0x4b0], dx
xor edx, edx
mov word [ebp - 0x4ae], di
lea edi, [ecx + 3]
mov ebx, dword [eax]
mov esi, dword [ebp - 0x4ac]
cmp ebx, esi
jne 0x4065ff
mov si, word [ebp - 0x4ae]
jmp 0x40663e
mov esi, dword [ebp - 0x4b4]
cmp ebx, esi
jne 0x406611
mov esi, dword [ebp - 0x4b0]
jmp 0x40663e
cmp ebx, ecx
jne 0x40661f
lea ebx, [edx - 0x6e]
xor word [eax + edx*2 + 0xc], bx
jmp 0x40664d
mov esi, dword [ebp - 0x4b8]
cmp ebx, esi
jne 0x40662d
mov esi, edi
jmp 0x40663e
mov esi, dword [ebp - 0x4bc]
cmp ebx, esi
jne 0x40664d
mov si, word [ebp - 0x4be]
xor si, word [eax + edx*2 + 0xc]
inc ebx
mov word [eax + edx*2 + 0xc], si
mov dword [eax], ebx
jmp 0x4065ea
inc edx
cmp edx, 0xe
jne 0x4065ea
mov byte [eax + 0xa], 1
lea ebx, [eax + 0xc]
lea eax, [ebp - 0x244]
mov dword [esp], eax
lea edi, [ebp - 0x464]
mov ecx, edi
call fcn.00401592
push esi
mov ecx, edi
mov dword [esp], ebx
call fcn.004327e0
push edx
lea esi, [ebp - 0x47c]
mov ecx, esi
mov dword [esp], eax
call fcn.00434130
push ecx
mov ecx, edi
call fcn.004318a0
mov eax, dword [ebp - 0x47c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
inc eax
mov ecx, esi
push edi
je 0x4066b0
call fcn.004318a0
jmp 0x4066c2
call fcn.004318a0
lea ecx, [ebp - 0x494]
call fcn.004318a0
jmp 0x4066d2
lea ecx, [ebp - 0x494]
call fcn.004318a0
jmp 0x40676e
xor esi, esi
mov dword [esp], 2
mov dword [esp + 4], esi
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
push ebx
push ebx
mov ebx, eax
cmp eax, 0xffffffff
je 0x406786
lea edi, [ebp - 0x244]
mov ecx, 0x8b
xor eax, eax
rep stosd dword es:[edi], eax
lea esi, [ebp - 0x244]
mov dword [ebp - 0x244], 0x22c
mov dword [esp + 4], esi
mov dword [esp], ebx
call sub.KERNEL32.dll_Process32FirstW
push ecx
push ecx
test eax, eax
jne 0x40672e
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
jmp 0x406786
mov eax, dword [ebp - 0x49c]
mov edi, dword [ebp - 0x4a0]
mov dword [ebp - 0x4ac], eax
cmp dword [ebp - 0x4ac], edi
je 0x406778
mov eax, dword [edi]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add edi, 0x18
test eax, eax
jne 0x406740
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
mov eax, 1
jmp 0x406810
mov dword [esp + 4], esi
mov dword [esp], ebx
call sub.KERNEL32.dll_Process32NextW
jmp 0x40671c
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x40676e
call fcn.00401e36
test eax, eax
jne 0x40676e
call fcn.004037a3
jmp 0x406810
lea ecx, [ebp - 0x4a0]
mov dword [ebp - 0x4ac], eax
call fcn.0042d9e0
mov eax, dword [ebp - 0x4ac]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret