Function at 0x478840
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov dword [ebp - 0x68], 0x285
mov dword [ebp - 0x38], 0x114
mov dword [ebp - 0xd0], 0x20f
mov dword [ebp - 0xbc], 0x257
mov dword [ebp - 0xe0], 0x24b
mov dword [ebp - 0x30], 0x73
mov dword [ebp - 0xe4], 0x1e4
mov dword [ebp - 0xcc], 0x251
mov dword [ebp - 8], 0x8f
mov dword [ebp - 0x20], 0x3a4
mov dword [ebp - 0x18], 0x1cf
mov dword [ebp - 0x24], 0x2e0
mov dword [ebp - 0x9c], 0x398
mov dword [ebp - 0x40], 0xea
mov dword [ebp - 4], 0x148
mov dword [ebp - 0x44], 0x28d
mov dword [ebp - 0x2c], 0x5f
mov dword [ebp - 0x3c], 0x29f
mov dword [ebp - 0x1c], 0x3e
mov dword [ebp - 0x14], 0x275
mov dword [ebp - 0x10], 0x303
mov dword [ebp - 0x34], 0x192
mov dword [ebp - 0xc], 0x22c
mov dword [ebp - 0x58], 0x302
mov dword [ebp - 0x28], 0x3c4
mov dword [ebp - 0x48], 0
jmp 0x47891c
mov eax, dword [ebp - 0x48]
add eax, 1
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x113
cmp dword [ebp - 0x48], ecx
jge 0x47896a
mov edx, dword [ebp - 0x28]
sub edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [0x50cf8c]
cmp eax, dword [ebp - 0x20]
jge 0x47894a
mov dword [ebp - 0x70], 1
jmp 0x478951
mov dword [ebp - 0x70], 0
mov ecx, dword [0x50cf90]
or ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x70]
je 0x478968
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
jmp 0x478913
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xd8], eax
mov ecx, dword [0x50cf94]
mov dword [ebp - 0xdc], ecx
mov edx, dword [0x50cf94]
sub edx, 1
mov dword [0x50cf94], edx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xdc]
jge 0x4789ab
mov ecx, dword [0x50cf98]
sub ecx, 1
mov dword [0x50cf98], ecx
mov dword [ebp - 0x4c], 0
jmp 0x4789bd
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x3c]
sub eax, 0x1893f
cmp dword [ebp - 0x4c], eax
jge 0x4789fc
push 0xde5b
push 0x9f87
push 0x124cf
push 0xde33
push 0x10674
push 0x14ddf
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
add esp, 0x18
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x4789b4
mov edx, dword [ebp - 0xe0]
sub edx, 0x1f9
push edx
mov eax, dword [ebp - 0x28]
sub eax, 0xfb
push eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0xf0
push ecx
call fcn.00417b40
add esp, 0xc
mov edx, dword [ebp + 0x14]
and edx, 0xdedc
xor edx, 0x5a2d
mov eax, 0x215e
sub eax, dword [ebp + 0x10]
xor eax, 0xffff8dc9
mov byte [eax + str.mLztPMjkJzBixbrPb], dl
mov ecx, dword [0x50cf90]
add ecx, 0xa3
push ecx
mov edx, dword [ebp - 0x20]
sub edx, 0xd0
push edx
call fcn.0041c9c0
add esp, 8
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0xd0]
jge 0x478a7c
mov dword [ebp - 0x74], 1
jmp 0x478a83
mov dword [ebp - 0x74], 0
mov ecx, dword [ebp - 0xe4]
cmp ecx, dword [ebp - 0x14]
jge 0x478a97
mov dword [ebp - 0x78], 1
jmp 0x478a9e
mov dword [ebp - 0x78], 0
mov edx, dword [ebp - 0x74]
or edx, dword [ebp - 0x78]
je 0x478aaf
mov eax, dword [ebp - 0x3c]
sub eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp + 8]
add ecx, 0x7172
xor ecx, 0x1147d
mov edx, dword [ebp + 0x20]
and edx, 0x8d03
xor edx, 0xc0b
mov byte [edx + str.mLztPMjkJzBixbrPb], cl
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
and ecx, dword [ebp - 0x44]
cmp ecx, dword [0x50cfa0]
jge 0x478af3
mov dword [ebp - 0x7c], 1
jmp 0x478afa
mov dword [ebp - 0x7c], 0
mov edx, dword [0x50cf94]
cmp edx, dword [ebp - 0x10]
jge 0x478b0e
mov dword [ebp - 0x80], 1
jmp 0x478b15
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x7c]
or eax, dword [ebp - 0x80]
je 0x478b2c
mov ecx, dword [0x50cf9c]
add ecx, 1
mov dword [0x50cf9c], ecx
mov edx, 0x8a34
sub edx, dword [ebp + 0x14]
add edx, 0x6e5c
xor edx, 0x9dc1
mov eax, dword [ebp + 0x18]
xor eax, 0x2251
and eax, 0x3b9
xor eax, 0x380
mov byte [eax + str.mLztPMjkJzBixbrPb], dl
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [0x50cf94]
jge 0x478b72
mov dword [ebp - 0x84], 1
jmp 0x478b7c
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jge 0x478b90
mov dword [ebp - 0x88], 1
jmp 0x478b9a
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x88]
je 0x478bb8
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0x18]
or edx, 0x583
xor edx, 0x625a33f5
mov eax, dword [ebp + 8]
xor eax, 0xffffa8ff
xor eax, 0xffff0a44
mov dword [eax + str.mLztPMjkJzBixbrPb], edx
mov ecx, dword [0x50cfd4]
cmp ecx, dword [ebp - 0x30]
jge 0x478bf1
mov dword [ebp - 0x90], 1
jmp 0x478bfb
mov dword [ebp - 0x90], 0
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x34]
sub ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0xe8]
cmp edx, dword [ebp - 0xec]
jge 0x478c30
mov dword [ebp - 0x8c], 1
jmp 0x478c3a
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0xc]
and eax, dword [ebp - 0x8c]
or eax, dword [ebp - 0x90]
je 0x478cb6
mov ecx, dword [0x50b234]
add ecx, dword [ebp - 0x30]
cmp ecx, dword [0x50cf88]
jge 0x478c68
mov dword [ebp - 0x94], 1
jmp 0x478c72
mov dword [ebp - 0x94], 0
mov edx, dword [0x50cf9c]
or edx, dword [ebp - 0x10]
cmp edx, dword [0x50cf80]
jge 0x478c8f
mov dword [ebp - 0x98], 1
jmp 0x478c99
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x94]
or eax, dword [ebp - 0x98]
je 0x478cb6
mov ecx, dword [0x50cf8c]
add ecx, 1
mov dword [0x50cf8c], ecx
mov edx, dword [ebp + 8]
add edx, 0xe6f7
xor edx, 0x4e4fe7f8
mov eax, dword [ebp + 0x14]
xor eax, 0xb2f6
and eax, 0x16a8
and eax, 0x1d53
xor eax, 4
mov dword [eax + str.mLztPMjkJzBixbrPb], edx
mov ecx, dword [ebp - 0x10]
sub ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x9c]
jge 0x478e3c
mov eax, dword [0x50cf94]
add eax, dword [0x50cf98]
mov dword [ebp - 0xf0], eax
mov ecx, dword [0x50cfa0]
mov dword [ebp - 0xf4], ecx
mov edx, dword [0x50cf98]
sub edx, 1
mov dword [0x50cf98], edx
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0xf4]
jge 0x478d59
mov dword [ebp - 0xa8], 1
jmp 0x478d63
mov dword [ebp - 0xa8], 0
mov ecx, dword [0x50cf88]
cmp ecx, dword [0x50cfd4]
jge 0x478d7d
mov dword [ebp - 0xa0], 1
jmp 0x478d87
mov dword [ebp - 0xa0], 0
mov edx, dword [ebp - 0x10]
sub edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x10]
jge 0x478da4
mov dword [ebp - 0xa4], 1
jmp 0x478dae
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp - 0xa0]
and ecx, dword [ebp - 0xa4]
or ecx, dword [ebp - 0xa8]
je 0x478e3c
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xf8]
cmp edx, dword [ebp - 0xfc]
jge 0x478dfa
mov dword [ebp - 0xac], 1
jmp 0x478e04
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x14]
jge 0x478e1b
mov dword [ebp - 0xb0], 1
jmp 0x478e25
mov dword [ebp - 0xb0], 0
mov ecx, dword [ebp - 0xac]
or ecx, dword [ebp - 0xb0]
je 0x478e3c
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x50], 0
jmp 0x478e4e
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
mov ecx, dword [0x50cf88]
sub ecx, 0x399
cmp dword [ebp - 0x50], ecx
jge 0x478ecd
mov edx, dword [ebp - 0xcc]
cmp edx, dword [0x50cf8c]
jge 0x478e79
mov dword [ebp - 0xb4], 1
jmp 0x478e83
mov dword [ebp - 0xb4], 0
mov eax, dword [0x50cf84]
cmp eax, dword [0x50cf90]
jge 0x478e9c
mov dword [ebp - 0xb8], 1
jmp 0x478ea6
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0xb4]
and ecx, dword [ebp - 0xb8]
je 0x478ec8
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0xbc]
jge 0x478ec8
mov eax, dword [ebp - 0x30]
sub eax, 1
mov dword [ebp - 0x30], eax
jmp 0x478e45
mov ecx, 0xfb3f
sub ecx, dword [ebp + 8]
xor ecx, 0x5854
mov edx, dword [ebp + 0xc]
add edx, 0x5a83
xor edx, 0x152ed
mov byte [edx + str.mLztPMjkJzBixbrPb], cl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x54], 0
jmp 0x478f0b
mov ecx, dword [ebp - 0x54]
add ecx, 1
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x186de
cmp dword [ebp - 0x54], edx
jge 0x478f59
push 0x10abd
push 0xde8b
push 0x10fd0
push 0x1537b
push 0x67ce
push 0x83ad
push 0xc472
push 0x978c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add esp, 0x20
mov eax, dword [0x50cf90]
sub eax, 1
mov dword [0x50cf90], eax
jmp 0x478f02
mov ecx, dword [ebp - 0x14]
add ecx, 0xf3
push ecx
mov edx, dword [0x50cf80]
add edx, 0x20
push edx
mov eax, dword [ebp - 0x1c]
sub eax, 3
push eax
mov ecx, dword [0x50cf9c]
sub ecx, 0x1a5
push ecx
mov edx, dword [0x50cfd4]
add edx, 0x29c
push edx
mov eax, dword [0x50cf7c]
add eax, 0x225
push eax
call fcn.0041c360
add esp, 0x18
mov ecx, dword [0x50b234]
sub ecx, 1
mov dword [0x50b234], ecx
mov edx, dword [ebp + 0x10]
xor edx, 0x888a
xor edx, 0x1b13
mov eax, dword [ebp + 0x18]
add eax, 0x1a2b
xor eax, 0x93d4
mov byte [eax + str.mLztPMjkJzBixbrPb], dl
mov ecx, dword [ebp - 0xbc]
add ecx, 0xb2
push ecx
mov edx, dword [ebp - 0xc]
add edx, 0xa7
push edx
call fcn.0041c9c0
add esp, 8
mov dword [ebp - 0x5c], 0
jmp 0x479003
mov eax, dword [ebp - 0x5c]
add eax, 1
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x58]
sub ecx, 0x189a2
cmp dword [ebp - 0x5c], ecx
jge 0x47902f
mov edx, dword [ebp - 0x2c]
sub edx, 1
mov dword [ebp - 0x2c], edx
push 0x136a
push 0x16fba
call dword [sym.imp.KERNEL32.dll_WriteFile]
add esp, 8
jmp 0x478ffa
mov eax, dword [ebp - 0xc]
add eax, 0xdc
push eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x262
push ecx
call fcn.0041c9c0
add esp, 8
mov edx, dword [0x50cfd4]
add edx, 0x348
push edx
mov eax, dword [0x50cf90]
add eax, 0x19
push eax
mov ecx, dword [0x50cf90]
sub ecx, 0x22a
push ecx
mov edx, dword [0x50cfd4]
add edx, 0xd8
push edx
mov eax, dword [ebp - 0x34]
add eax, 0x12c
push eax
mov ecx, dword [0x50cf7c]
add ecx, 0x225
push ecx
call fcn.0041c360
add esp, 0x18
mov edx, dword [ebp - 4]
cmp edx, dword [0x50cf94]
jge 0x4790af
mov dword [ebp - 0xc0], 1
jmp 0x4790b9
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
and eax, dword [ebp - 0xc0]
mov ecx, dword [0x50cfa0]
xor ecx, dword [0x50cf98]
or eax, ecx
mov dword [ebp - 0x100], eax
mov edx, dword [ebp - 0x38]
sub edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x100], 0
je 0x4790f8
mov eax, dword [0x50cf9c]
add eax, 1
mov dword [0x50cf9c], eax
mov ecx, dword [ebp + 8]
add ecx, 0x2a15
xor ecx, 0xccd9
mov edx, dword [ebp + 0x14]
xor edx, 0x8003
xor edx, 0xdac0
mov byte [edx + str.mLztPMjkJzBixbrPb], cl
mov eax, dword [ebp - 0x14]
add eax, 0x151
push eax
mov ecx, dword [0x50b234]
sub ecx, 0x8d
push ecx
mov edx, dword [ebp - 0x38]
add edx, 0x1fd
push edx
call fcn.0042bb60
add esp, 0xc
mov eax, dword [0x50cf7c]
xor eax, dword [ebp - 4]
je 0x479157
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0x20]
or edx, 0xfffffbc4
xor edx, 0x4570
xor edx, 0xffffba7e
mov eax, 0xd20f
sub eax, dword [ebp + 0x10]
xor eax, 0x3e7f
mov byte [eax + str.mLztPMjkJzBixbrPb], dl
mov dword [ebp - 0x60], 0
jmp 0x479191
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [0x50cfa4]
sub edx, 0x187a5
cmp dword [ebp - 0x60], edx
jge 0x47923a
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [0x50cf88]
cmp ecx, dword [ebp - 0x24]
jge 0x4791c6
mov dword [ebp - 0xc4], 1
jmp 0x4791d0
mov dword [ebp - 0xc4], 0
mov edx, dword [0x50cf7c]
cmp edx, dword [ebp - 0x1c]
jge 0x4791e7
mov dword [ebp - 0xc8], 1
jmp 0x4791f1
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xc4]
and eax, dword [0x50cf9c]
or eax, dword [ebp - 0xc8]
je 0x479235
mov ecx, dword [0x50b234]
or ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 4]
jge 0x479222
mov edx, dword [0x50cf94]
add edx, 1
mov dword [0x50cf94], edx
push 0x17f6
push 0x11901
call dword [sym.imp.KERNEL32.dll_GetStringTypeW]
add esp, 8
jmp 0x479188
mov eax, dword [ebp + 0x1c]
sub eax, 0x635d
xor eax, 0x1be0
xor eax, 0xffffa9b1
mov ecx, dword [ebp + 0xc]
or ecx, 0x70c2
xor ecx, 0xf8ef
mov byte [ecx + str.mLztPMjkJzBixbrPb], al
mov edx, dword [0x50cf94]
cmp edx, dword [ebp - 0xc]
jge 0x479275
mov eax, dword [ebp - 0x1c]
sub eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 8]
add edx, 0xeb
push edx
mov eax, dword [ebp - 0xcc]
add eax, 0xc9
push eax
mov ecx, dword [ebp - 0x24]
add ecx, 0xba
push ecx
mov edx, dword [0x50cf80]
add edx, 0x149
push edx
call fcn.00418960
add esp, 0x10
mov eax, dword [ebp + 0x10]
xor eax, 0xa1c3
xor eax, 0x3247
mov ecx, 0x421e
sub ecx, dword [ebp + 0x14]
xor ecx, 0xffffe740
mov byte [ecx + str.mLztPMjkJzBixbrPb], al
mov edx, dword [ebp - 0x20]
sub edx, 0x228
push edx
mov eax, dword [ebp - 0x20]
sub eax, 0x8b
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x125
push ecx
mov edx, dword [0x50cfa4]
add edx, 0x2a2
push edx
call fcn.00418960
add esp, 0x10
mov dword [ebp - 0x64], 0
jmp 0x479318
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0x18981
cmp dword [ebp - 0x64], ecx
jge 0x479380
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x68]
jge 0x47933a
mov dword [ebp - 0xd4], 1
jmp 0x479344
mov dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xd0]
or eax, dword [ebp - 0xd4]
je 0x47937e
push 0xbaeb
push 0xa817
push 0xeb8
push 0x16e56
call dword [sym.imp.USER32.dll_PostMessageA]
add esp, 0x10
mov ecx, dword [0x50cf80]
sub ecx, 1
mov dword [0x50cf80], ecx
jmp 0x47930f
mov eax, str.mLztPMjkJzBixbrPb
jmp 0x4793d8
mov esp, ebp
pop ebp
ret