Function at 0x417d60
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x140
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov ebx, 0
mov dword [ebp - 0x38], eax
mov eax, dword [0x501484]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x501480]
sub ebx, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
add eax, ebx
mov ebx, dword [ebp - 0x3c]
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete al
and al, 1
mov byte [ebp - 0x2e], al
mov ebx, dword [ebp - 0x40]
cmp ebx, 0xa
setl al
and al, 1
mov byte [ebp - 0x2d], al
mov dword [ebp - 0x34], 0x41e14fd0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x34]
mov ecx, eax
sub ecx, 0x9d18575b
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], ecx
jg 0x417e0e
jmp 0x417df8
mov eax, dword [ebp - 0x54]
sub eax, 0x89d3d045
mov dword [ebp - 0x5c], eax
je 0x418375
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0xb8113cfc
mov dword [ebp - 0x60], eax
jg 0x417e3a
jmp 0x417e24
mov eax, dword [ebp - 0x54]
sub eax, 0x9d18575c
mov dword [ebp - 0x64], eax
je 0x41855d
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x74e5decf
mov dword [ebp - 0x68], eax
jg 0x418145
jmp 0x417e50
mov eax, dword [ebp - 0x54]
sub eax, 0x6dd3f0a6
mov dword [ebp - 0x6c], eax
jg 0x41812c
jmp 0x417e66
mov eax, dword [ebp - 0x54]
sub eax, 0x6cdb81a0
mov dword [ebp - 0x70], eax
jg 0x418113
jmp 0x417e7c
mov eax, dword [ebp - 0x54]
sub eax, 0x65c8fb30
mov dword [ebp - 0x74], eax
jg 0x4180fa
jmp 0x417e92
mov eax, dword [ebp - 0x54]
sub eax, 0x5d287a5e
mov dword [ebp - 0x78], eax
jg 0x4180e1
jmp 0x417ea8
mov eax, dword [ebp - 0x54]
sub eax, 0x53d4eb24
mov dword [ebp - 0x7c], eax
jg 0x4180c8
jmp 0x417ebe
mov eax, dword [ebp - 0x54]
sub eax, 0x4ca8c1d6
mov dword [ebp - 0x80], eax
jg 0x4180af
jmp 0x417ed4
mov eax, dword [ebp - 0x54]
sub eax, 0x4b26dcad
mov dword [ebp - 0x84], eax
jg 0x418096
jmp 0x417eed
mov eax, dword [ebp - 0x54]
sub eax, 0x41e14fcf
mov dword [ebp - 0x88], eax
jg 0x41807d
jmp 0x417f06
mov eax, dword [ebp - 0x54]
sub eax, 0x185cddf4
mov dword [ebp - 0x8c], eax
jg 0x418064
jmp 0x417f1f
mov eax, dword [ebp - 0x54]
sub eax, 0x174e6807
mov dword [ebp - 0x90], eax
jg 0x41804b
jmp 0x417f38
mov eax, dword [ebp - 0x54]
sub eax, 0xe8f81d6b
mov dword [ebp - 0x94], eax
jg 0x418032
jmp 0x417f51
mov eax, dword [ebp - 0x54]
sub eax, 0xe7ff1a0c
mov dword [ebp - 0x98], eax
jg 0x418019
jmp 0x417f6a
mov eax, dword [ebp - 0x54]
sub eax, 0xe53711c5
mov dword [ebp - 0x9c], eax
jg 0x418000
jmp 0x417f83
mov eax, dword [ebp - 0x54]
sub eax, 0xcbfd58a4
mov dword [ebp - 0xa0], eax
jg 0x417fe7
jmp 0x417f9c
mov eax, dword [ebp - 0x54]
sub eax, 0xb8113cfd
mov dword [ebp - 0xa4], eax
je 0x418314
jmp 0x417fb5
mov eax, dword [ebp - 0x54]
sub eax, 0xb8b14141
mov dword [ebp - 0xa8], eax
je 0x4184ed
jmp 0x417fce
mov eax, dword [ebp - 0x54]
sub eax, 0xc124aab4
mov dword [ebp - 0xac], eax
je 0x4184ac
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0xcbfd58a5
mov dword [ebp - 0xb0], eax
je 0x418652
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0xe53711c6
mov dword [ebp - 0xb4], eax
je 0x41832f
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0xe7ff1a0d
mov dword [ebp - 0xb8], eax
je 0x418645
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0xe8f81d6c
mov dword [ebp - 0xbc], eax
je 0x4183ee
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x174e6808
mov dword [ebp - 0xc0], eax
je 0x418620
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x185cddf5
mov dword [ebp - 0xc4], eax
je 0x4184b8
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x41e14fd0
mov dword [ebp - 0xc8], eax
je 0x418163
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x4b26dcae
mov dword [ebp - 0xcc], eax
je 0x4187eb
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x4ca8c1d7
mov dword [ebp - 0xd0], eax
je 0x418605
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x53d4eb25
mov dword [ebp - 0xd4], eax
je 0x418189
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x5d287a5f
mov dword [ebp - 0xd8], eax
je 0x41883f
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x65c8fb31
mov dword [ebp - 0xdc], eax
je 0x418502
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x6cdb81a1
mov dword [ebp - 0xe0], eax
je 0x418491
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x6dd3f0a7
mov dword [ebp - 0xe4], eax
je 0x41833b
jmp 0x41815e
mov eax, dword [ebp - 0x54]
sub eax, 0x74e5ded0
mov dword [ebp - 0xe8], eax
je 0x418393
jmp 0x41815e
jmp 0x41884f
mov eax, 0xcbfd58a5
mov ecx, 0x53d4eb25
mov dl, byte [ebp - 0x2e]
mov dh, byte [ebp - 0x2d]
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x41884f
mov eax, 0xffffffff
mov ecx, 4
mov dword [ebp - 0xec], eax
mov eax, ecx
mov dword [ebp - 0xf0], ecx
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xf0]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xf0]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xf0]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xf0]
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xf4], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xf0]
call fcn.004ddc10
mov eax, esp
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xf0]
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4c]
mov dword [eax], edx
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x44]
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x50]
mov dword [eax], edi
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x48]
mov dword [eax], ebx
mov eax, dword [ebp - 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xec]
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xffffffff
mov eax, dword [0x5013dc]
mov ecx, dword [ecx]
sub esp, 0x1c
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 0x14], 0x80
mov dword [edx + 0x10], 2
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x18], 0
mov dword [edx + 4], 0x40000000
call eax
mov ecx, 0xcbfd58a5
mov edx, 0xb8113cfd
mov esi, 0xffffffff
mov edi, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax], esi
sete al
and al, 1
mov byte [ebp - 0xf], al
mov esi, dword [0x501484]
mov edi, dword [0x501480]
mov ebx, esi
sub ebx, 0x9bcbe1a7
sub ebx, 1
add ebx, 0x9bcbe1a7
imul esi, ebx
and esi, 1
cmp esi, 0
sete al
cmp edi, 0xa
setl ah
mov bl, al
and bl, ah
xor al, ah
or bl, al
test bl, 1
cmovne ecx, edx
mov dword [ebp - 0x34], ecx
jmp 0x41884f
mov eax, 0x6dd3f0a7
mov ecx, 0xe53711c6
mov dl, byte [ebp - 0xf]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x41884f
mov dword [ebp - 0x34], 0x65c8fb31
jmp 0x41884f
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx]
mov esi, dword [ebp - 0x20]
mov esi, dword [esi]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0040b570
add esp, 0x10
mov dword [ebp - 0x34], 0x89d3d045
jmp 0x41884f
mov eax, 0xb8b14141
mov ecx, 0x74e5ded0
mov edx, dword [ebp - 0x24]
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x41884f
mov eax, 0x4b26dcae
mov ecx, 0xe8f81d6c
mov edx, dword [0x501484]
mov esi, dword [0x501480]
mov edi, edx
sub edi, 0xba0b26dc
sub edi, 1
add edi, 0xba0b26dc
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x41884f
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx]
mov esi, dword [ebp - 0x18]
sub esp, 0x14
mov edi, esp
mov dword [edi + 0xc], esi
mov dword [edi], edx
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov dword [edi + 0x10], 0
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
mov ecx, 0x4b26dcae
mov edx, 0x6cdb81a1
mov esi, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, dword [ebp - 0x24]
cmp esi, dword [edi]
setne bl
and bl, 1
mov byte [ebp - 0xe], bl
mov esi, dword [0x501484]
mov edi, dword [0x501480]
mov ebx, esi
sub ebx, 0x95dcf417
sub ebx, 1
add ebx, 0x95dcf417
imul esi, ebx
and esi, 1
cmp esi, 0
sete bl
cmp edi, 0xa
setl bh
mov dword [ebp - 0xf8], eax
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
cmovne ecx, edx
mov dword [ebp - 0x34], ecx
jmp 0x41884f
mov eax, 0x185cddf5
mov ecx, 0xc124aab4
mov dl, byte [ebp - 0xe]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x41884f
mov dword [ebp - 0x34], 0x65c8fb31
jmp 0x41884f
mov eax, 0
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
add edx, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx]
sub eax, ecx
add edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], edx
mov dword [ebp - 0x34], 0x89d3d045
jmp 0x41884f
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov dword [ebp - 0x34], 0x65c8fb31
jmp 0x41884f
mov eax, 0x5d287a5f
mov ecx, 0x9d18575c
mov edx, dword [0x501484]
mov esi, dword [0x501480]
mov edi, edx
sub edi, 0x3bf636d7
sub edi, 1
add edi, 0x3bf636d7
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x41884f
mov eax, 0x5d287a5f
mov ecx, 0x4ca8c1d7
mov dl, 1
mov esi, dword [ebp - 0x1c]
cmp dword [esi], 0
setne dh
and dh, 1
mov byte [ebp - 0xd], dh
mov esi, dword [0x501484]
mov edi, dword [0x501480]
mov ebx, esi
add ebx, 0xaf420187
sub ebx, 1
sub ebx, 0xaf420187
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [ebp - 0xfc], eax
mov al, bl
xor al, 1
xor dl, 1
mov ah, bh
and ah, 1
and dh, dl
mov byte [ebp - 0xfd], al
and al, 1
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [ebp - 0xfd]
or bh, al
xor bh, 1
or dl, 1
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [ebp - 0xfc]
cmovne esi, ecx
mov dword [ebp - 0x34], esi
jmp 0x41884f
mov eax, 0xe7ff1a0d
mov ecx, 0x174e6808
mov dl, byte [ebp - 0xd]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x41884f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov dword [ebp - 0x34], 0xe7ff1a0d
mov dword [ebp - 0x104], eax
jmp 0x41884f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0xffffffff
mov ecx, 4
mov dword [ebp - 0x108], eax
mov eax, ecx
mov dword [ebp - 0x10c], ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x110], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x114], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x118], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x11c], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x120], eax
mov eax, ecx
call fcn.004ddc10
mov eax, esp
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x124], eax
mov eax, edx
mov dword [ebp - 0x128], ecx
call fcn.004ddc10
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x124]
mov edx, esp
mov esi, dword [ebp - 0x11c]
mov edi, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x10c]
mov dword [ebp - 0x12c], eax
mov eax, ebx
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], edi
call fcn.004ddc10
mov eax, dword [ebp - 0x134]
mov ecx, esp
mov edx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x4c]
mov dword [esi], edi
mov ebx, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x44]
mov dword [ebx], esi
mov esi, dword [ebp - 0x50]
mov dword [edx], esi
mov edx, dword [ebp - 0x138]
mov esi, dword [ebp - 0x48]
mov dword [edx], esi
mov edx, dword [ebp - 0x128]
mov esi, dword [ebp - 0x38]
mov dword [edx], esi
mov edx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x108]
mov dword [edx], esi
mov dword [eax], 0
mov dword [ecx], 0xffffffff
mov eax, dword [0x5013dc]
mov ecx, dword [ebp - 0x128]
mov ecx, dword [ecx]
sub esp, 0x1c
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 0x14], 0x80
mov dword [edx + 0x10], 2
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x18], 0
mov dword [edx + 4], 0x40000000
call eax
mov ecx, dword [ebp - 0x130]
mov dword [ecx], eax
mov dword [ebp - 0x34], 0x53d4eb25
jmp 0x41884f
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx]
mov esi, dword [ebp - 0x18]
sub esp, 0x14
mov edi, esp
mov dword [edi + 0xc], esi
mov dword [edi], edx
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov dword [edi + 0x10], 0
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x34], 0xe8f81d6c
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x148], edx
jmp 0x41884f
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], 0x9d18575c
mov dword [ebp - 0x14c], eax
jmp 0x417ddc