Function at 0x478810
Capabilities:
Modify service
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d0
and dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0x4ddbc370
mov dword [ebp - 0x11c], 2
mov dword [ebp - 0x18], 0
jmp 0x47883e
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jge 0x478851
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x30], 0x8bac
jmp 0x478837
mov dword [ebp - 0x18], 0
jmp 0x478861
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x478877
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x17c], 0x257e7e5f
jmp 0x47885a
mov dword [ebp - 0x10], 1
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x30], 0
jne 0x478897
mov dword [ebp - 0x12c], 1
jmp 0x47889e
and dword [ebp - 0x12c], 0
mov dword [ebp - 0x10], 0xfffffff7
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x12c]
jge 0x4788bc
mov dword [ebp - 0xc8], 1
jmp 0x4788c3
and dword [ebp - 0xc8], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x30]
cmp eax, dword [ebp - 0xc8]
jge 0x4788e1
mov dword [ebp - 0xa0], 1
jmp 0x4788e8
and dword [ebp - 0xa0], 0
cmp dword [ebp - 0xa0], 0
ja 0x4788fd
mov dword [ebp - 0x104], 1
jmp 0x478904
and dword [ebp - 0x104], 0
cmp dword [ebp - 0x104], 0xd327cb3f
je 0x47892c
mov dword [ebp - 0xa8], 0xd5fa
mov eax, dword [ebp - 0xa8]
dec eax
mov dword [ebp - 0xa8], eax
jmp 0x478d72
mov dword [ebp - 0x54], 0x9ab8a87e
mov dword [ebp - 0x10], 0
jmp 0x478943
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jg 0x478d72
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x478967
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x47897d
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x94], 0x4e76ab2a
jmp 0x478960
mov dword [ebp - 0x28], 0
jmp 0x47898d
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jge 0x4789a3
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x98], 0x821342f3
jmp 0x478986
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x94], 0
jmp 0x4789d1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x94]
dec eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x94], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x94], 0
jl 0x478bd4
mov dword [ebp - 0x1c], 0
jmp 0x4789f5
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x478a0b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x174], 0
jmp 0x4789ee
mov dword [ebp - 0x1c], 0
jmp 0x478a1b
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x478a31
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1a8], 0xe2c9bf5e
jmp 0x478a14
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x94]
cmp dword [ebp + eax*4 - 0x30], 0
je 0x478aec
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x98], 1
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x30], 1
jl 0x478a70
mov dword [ebp - 0x10c], 1
jmp 0x478a77
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x30], 0x72c4
je 0x478a90
mov dword [ebp - 0x130], 1
jmp 0x478a97
and dword [ebp - 0x130], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x94]
mov dword [ebp - 0x198], eax
mov eax, 0xffff
dec eax
push 4
pop ecx
shl ecx, 0
cmp eax, dword [ebp + ecx - 0x94]
jg 0x478acb
mov dword [ebp - 0xb0], 1
jmp 0x478ad2
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0xb0]
je 0x478aec
mov dword [ebp - 0x84], 1
jmp 0x478af3
and dword [ebp - 0x84], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x84]
mov dword [ebp + eax - 0x174], ecx
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1a8]
cmp dword [ebp - 0x84], eax
je 0x478b59
mov dword [ebp - 0x44], 8
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0
jmp 0x478b39
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jg 0x478b57
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x94]
cmp dword [ebp + eax*4 - 0x30], 0
je 0x478b55
jmp 0x478b57
jmp 0x478b32
jmp 0x478b9e
mov dword [ebp - 0x15c], 0x11ecbfcf
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x15c]
cmp dword [ebp + eax - 0x174], ecx
jl 0x478b84
mov dword [ebp - 0x114], 1
jmp 0x478b8b
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x478bcf
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x740
push 0x22c5
push 0x194d
push 0
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
jmp 0x4789b6
cmp dword [ebp - 0x10], 0
je 0x478ca5
cmp dword [ebp - 0x54], 0
je 0x478bf5
or eax, 0xffffffff
je 0x478bf5
mov dword [ebp - 0xb8], 1
jmp 0x478bfc
and dword [ebp - 0xb8], 0
imul eax, dword [ebp - 0xb8], 0xebff
cmp eax, dword [ebp - 0x11c]
jne 0x478c1a
mov dword [ebp - 0xc0], 1
jmp 0x478c21
and dword [ebp - 0xc0], 0
cmp dword [ebp - 0xc0], 0xfffffffa
jge 0x478c36
mov dword [ebp - 0x124], 1
jmp 0x478c3d
and dword [ebp - 0x124], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x94]
cmp dword [ebp - 0x124], eax
jg 0x478c5e
mov dword [ebp - 0x150], 1
jmp 0x478c65
and dword [ebp - 0x150], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x30]
mov dword [ebp - 0x194], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x54]
imul ecx, dword [ebp + eax - 0x30]
mov dword [ebp - 0x120], ecx
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x120]
mov dword [ebp + eax - 0x98], ecx
cmp dword [ebp - 0x120], 0
jne 0x478cbe
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x17c], 0
jne 0x478cbe
and dword [ebp - 0xd0], 0
jmp 0x478cc8
mov dword [ebp - 0xd0], 1
cmp dword [ebp - 0xd0], 0x6e0aee48
jne 0x478ce0
mov dword [ebp - 0x100], 1
jmp 0x478ce7
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
sub eax, 0x2777
cmp dword [ebp - 0x54], eax
jle 0x478d0f
mov dword [ebp - 0x118], 1
jmp 0x478d16
and dword [ebp - 0x118], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x94]
cmp eax, dword [ebp - 0x118]
jl 0x478d37
mov dword [ebp - 0xe0], 1
jmp 0x478d3e
and dword [ebp - 0xe0], 0
cmp dword [ebp - 0xe0], 1
jge 0x478d53
mov dword [ebp - 0x108], 1
jmp 0x478d5a
and dword [ebp - 0x108], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x108]
mov dword [ebp + eax - 0x17c], ecx
jmp 0x47893c
mov dword [ebp - 4], 0x714a0256
mov dword [ebp - 0x50], 0x43e2f7c6
mov dword [ebp - 0x13c], 0x4f06702e
mov dword [ebp - 0x7c], 0
jmp 0x478d9a
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x478dad
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x2c], 1
jmp 0x478d93
mov dword [ebp - 4], 0
jmp 0x478dbd
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
jge 0x478dd0
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], 0
jmp 0x478db6
mov dword [ebp - 4], 0
jmp 0x478de0
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x478f6b
mov dword [ebp - 0x24], 0xe5c7a00f
mov byte [ebp - 0x3c], 0
movzx eax, byte [ebp - 0x3c]
test eax, eax
je 0x478e11
push 0x2048
push 0
push 0x959
push 0
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x24], 0
jmp 0x478e21
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jl 0x478f66
mov dword [ebp - 8], 0xfadacd7d
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp + eax*4 - 0x2c], 0x79a7
imul eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x2c]
sub ecx, dword [ebp - 8]
cmp ecx, eax
jle 0x478e67
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2c], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
sub eax, dword [ebp + ecx*4 - 0x2c]
cmp eax, dword [ebp - 0x24]
jle 0x478e82
mov dword [ebp - 0xe8], 1
jmp 0x478e89
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x2c]
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 1
jl 0x478eab
mov dword [ebp - 0x128], 1
jmp 0x478eb2
and dword [ebp - 0x128], 0
imul eax, dword [ebp - 0x128], 0xb84c
test eax, eax
je 0x478f4b
mov dword [ebp - 0x50], 0x1b
jmp 0x478ed4
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xffffffe5
jne 0x478f49
mov dword [ebp - 8], 0xfffffffb
jmp 0x478eea
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x478f06
mov byte [ebp - 0x3e], 0
movzx eax, byte [ebp - 0x3e]
test eax, eax
je 0x478f04
push 0
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x478ee3
mov dword [ebp - 8], 0
jmp 0x478f16
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jg 0x478f47
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x2c]
mov dword [ebp + ecx*4 - 0x2c], eax
mov byte [ebp - 0x3d], 0
movzx eax, byte [ebp - 0x3d]
test eax, eax
je 0x478f45
push 0
push 0x237b
push 0
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
jmp 0x478f0f
jmp 0x478ecd
jmp 0x478f61
cmp dword [ebp - 4], 0
je 0x478f53
jmp 0x478f66
cmp dword [ebp - 0x13c], 0
je 0x478f61
jmp 0x478e1a
jmp 0x478e1a
jmp 0x478dd9
mov dword [ebp - 0x20], 0x7e2799ac
mov dword [ebp - 0x20], 0
jmp 0x478f82
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffe2
jl 0x47904a
mov dword [ebp - 0x154], 1
cmp dword [ebp - 0x20], 0
je 0x478fb1
mov eax, 0x6957
test eax, eax
je 0x478fb1
mov dword [ebp - 0xf0], 1
jmp 0x478fb8
and dword [ebp - 0xf0], 0
cmp dword [ebp - 0x20], 0
je 0x478fd8
mov eax, 0x4b9a
test eax, eax
je 0x478fd8
xor eax, eax
inc eax
je 0x478fd8
mov dword [ebp - 0x110], 1
jmp 0x478fdf
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0x110]
jge 0x478ff9
mov dword [ebp - 0xf8], 1
jmp 0x479000
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0xf8]
imul eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
je 0x47901e
mov dword [ebp - 0xc4], 1
jmp 0x479025
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x154], eax
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x479045
push 0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
jmp 0x478f7b
mov dword [ebp - 0x16c], 1
mov dword [ebp - 0x168], 1
mov dword [ebp - 0x164], 1
mov dword [ebp - 0x160], 1
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x16c], 0
jmp 0x4790a0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x16c]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x16c], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x16c], 0x17
jle 0x479124
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x70], 0
jmp 0x4790c7
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 3
jge 0x4790dd
mov eax, dword [ebp - 0x70]
mov dword [ebp + eax*4 - 0x1c4], 0x6e60b0c
jmp 0x4790c0
mov dword [ebp - 0x60], 0
jmp 0x4790ed
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 2
jg 0x47911f
mov byte [ebp - 0x3b], 0
movzx eax, byte [ebp - 0x3b]
test eax, eax
je 0x47910e
push 0x195a
push 0
push 0
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [ebp - 0x60]
cmp dword [ebp + eax*4 - 0x1c4], 0
je 0x47911d
jmp 0x4790e6
jmp 0x4790e6
jmp 0x479085
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xe4], 3
mov dword [ebp - 0x158], 0xffff
mov dword [ebp - 0xec], 0x80254f8d
mov dword [ebp - 0x134], 0xfffffffc
cmp dword [ebp - 0x58], 0
je 0x479175
mov dword [ebp - 0xcc], 5
mov eax, dword [ebp - 0xcc]
dec eax
mov dword [ebp - 0xcc], eax
jmp 0x479286
mov dword [ebp - 0x68], 0
jmp 0x479185
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 4
jge 0x47919b
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x1b8], 0xfffffffe
jmp 0x47917e
mov dword [ebp - 0x58], 0x10
jmp 0x4791ab
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x2d
jl 0x479286
mov dword [ebp - 0x180], 0x8bc0
mov dword [ebp - 0x14c], 0x82f744ed
mov dword [ebp - 0x78], 0
jmp 0x4791d9
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 3
jge 0x4791ef
mov eax, dword [ebp - 0x78]
mov dword [ebp + eax*4 - 0x1d0], 0
jmp 0x4791d2
xor eax, eax
inc eax
je 0x479215
mov eax, dword [ebp - 0xe4]
dec eax
push 4
pop ecx
shl ecx, 1
cmp eax, dword [ebp + ecx - 0x1b8]
jle 0x479215
mov dword [ebp - 0x144], 1
jmp 0x47921c
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x184], eax
push 4
pop eax
shl eax, 1
mov ecx, 0x1d97
sub ecx, dword [ebp + eax - 0x1b8]
mov dword [ebp - 0xd4], ecx
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xd4]
mov dword [ebp + eax - 0x1d0], ecx
cmp dword [ebp - 0xd4], 0
je 0x47926e
push 0xfffffffffffffffd
pop eax
test eax, eax
je 0x47926e
mov dword [ebp - 0xdc], 1
jmp 0x479275
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x14c], eax
jmp 0x4791a4
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x38], 0xfffffff7
mov dword [ebp - 0x14], 0xa2fafd11
mov dword [ebp - 0x38], 0
jmp 0x4792c5
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfffffffe
je 0x479498
mov dword [ebp - 0x138], 0x6158d32f
mov dword [ebp - 0x4c], 0xad3b3152
mov dword [ebp - 0x48], 0xfffffff6
mov dword [ebp - 0x80], 0
jmp 0x4792f7
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 3
jge 0x47930d
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x190], 0
jmp 0x4792f0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x479429
mov dword [ebp - 0x5c], 0xa9f8d19c
mov dword [ebp - 0x6c], 0xfffffff7
mov byte [ebp - 0x3a], 0
movzx eax, byte [ebp - 0x3a]
test eax, eax
je 0x47934f
push 0
push 0x2529
push 0
call dword [sym.imp.GDI32.dll_ExtCreateRegion]
cmp dword [ebp - 0x14], 0
jne 0x47935c
cmp dword [ebp - 0x5c], 0x9a20
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x5c], eax
jge 0x479376
mov eax, 0xffff
test eax, eax
jne 0x479376
and dword [ebp - 0xf4], 0
jmp 0x479380
mov dword [ebp - 0xf4], 1
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x14]
jle 0x4793a6
cmp dword [ebp - 0x6c], 0
je 0x4793a6
mov dword [ebp - 0xfc], 1
jmp 0x4793ad
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0xfc], eax
jle 0x4793c4
mov dword [ebp - 0x9c], 1
jmp 0x4793cb
and dword [ebp - 0x9c], 0
cmp dword [ebp - 0x9c], 7
jge 0x4793e0
mov dword [ebp - 0x140], 1
jmp 0x4793e7
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x14], eax
jge 0x47940a
mov dword [ebp - 0xa4], 1
jmp 0x479411
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0x48]
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x190], eax
jmp 0x479493
mov dword [ebp - 0x4c], 0xffffffe7
jmp 0x479439
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x11
jne 0x479493
mov dword [ebp - 0x48], 0
jmp 0x47944f
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 3
jge 0x479465
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x190], 0xfffffffd
jmp 0x479448
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x479491
push 0
push 0x1207
push 0x7b8
push 0
push 0x466
push 0x1d8a
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
jmp 0x479432
jmp 0x4792be
mov dword [ebp - 0x14], 0
jmp 0x4794a8
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffed
jle 0x4794b8
cmp dword [ebp - 0x38], 0
je 0x4794b6
jmp 0x4794b8
jmp 0x4794a1
mov eax, dword [ebp - 0x88]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x4794cf
xor eax, eax
jmp 0x4796e2
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x64]
cmp dword [eax], 0x4550
je 0x4794f0
xor eax, eax
jmp 0x4796e2
push 1
push 0x72
push 0x671f
push 1
lea eax, [ebp - 0x74]
push eax
push 0x2e2c
push 0x1883
push dword [ebp - 0x64]
push 1
push 1
call fcn.004729e7
add esp, 0x28
cmp dword [ebp - 0x74], 0
jne 0x479525
xor eax, eax
jmp 0x4796e2
push 0x3b35
push 0x22bc
push 0x528e
push 0x57b4
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0xc]
push eax
push 0xfe3
push 0x23dd
push 0x399a
push 0x2733
push 0x243a
push 1
push 1
push 0x592d
push 0x1ed5
push 0x1615
push 1
push dword [ebp - 0x88]
push 0xef2
push 1
push dword [ebp - 0x64]
push 1
lea eax, [ebp - 0x74]
push eax
push 1
call fcn.004775fc
add esp, 0x60
push dword [ebp - 0x64]
push 0xed8
push dword [ebp - 0xc]
push 0x39b0
push 0x5c60
push 0x3389
push 0x2280
push 0x70c3
push 0x1092
push dword [ebp + 8]
push 0x1e3d
push 1
push 1
push 0x4c33
push 0x7e61
push 0x1122
push 1
push 0x41e8
push 0x6861
push 0
push 0x1d36
push 0
push 0x54bb
push 1
call fcn.004775fc
add esp, 0x60
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [eax + 0x34]
mov dword [ebp - 0xac], ecx
je 0x479636
push 0x3aeb
push dword [ebp - 0xc]
push 1
push 0x2b64
push 0x6ace
push dword [ebp - 0xac]
push 0
push 0
push 0x27aa
call fcn.004720cd
add esp, 0x24
push dword [ebp - 0xc]
call fcn.00450b5b
pop ecx
test eax, eax
jne 0x47964a
xor eax, eax
jmp 0x4796e2
push 1
push 0x2779
push 0x40e1
push 0
push dword [ebp - 0xc]
push 0
push 0x2505
push 0x5449
push 1
push 1
call fcn.0044083c
add esp, 0x28
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
cmp dword [eax + 0x28], 0
je 0x4796c1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
add ecx, dword [eax + 0x28]
mov dword [ebp - 0xb4], ecx
jne 0x479695
xor eax, eax
jmp 0x4796e2
push 0
push 1
push 0xdeadbeef
call dword [ebp - 0xb4]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jne 0x4796b7
xor eax, eax
jmp 0x4796e2
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10], 1
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x4796d5
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xbc], eax
jmp 0x4796dc
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xbc]
mov esp, ebp
pop ebp
ret