Function at 0x422952
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov dword [esp], 0xd84d8ba6
mov esi, dword [esp + 0x24]
xor ebp, ebp
lea ebx, [esp + 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esp]
cmp eax, 0xfceca296
jg 0x4229d3
cmp eax, 0xbe5659ca
jle 0x422a1e
cmp eax, 0xcb21ae9b
jg 0x422ac7
cmp eax, 0xca5ed587
jg 0x422c27
cmp eax, 0xbe5659cb
je 0x422d16
cmp eax, 0xc477d7bf
jne 0x422970
shr esi, 0xc
add esi, 0xb3
push 0x137d
push 0x5ee3
push esi
push 0x5eb1
call fcn.0041bd47
add esp, 0x10
jmp 0x422d0a
cmp eax, 0x198ecc9e
jle 0x422a62
cmp eax, 0x3e942281
jg 0x422b38
cmp eax, 0x2a72de9b
jg 0x422c53
cmp eax, 0x198ecc9f
je 0x422d22
cmp eax, 0x27e595f9
jne 0x422970
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov dword [esp], 0x802ad5a3
jmp 0x422970
cmp eax, 0x99b67fbb
jle 0x422b92
cmp eax, 0xa80953d7
jg 0x422c7d
cmp eax, 0x99b67fbc
je 0x422d71
cmp eax, 0x9e8b0307
jne 0x422970
push dword [esp + 0xc]
call fcn.0045d3c9
add esp, 4
mov dword [esp], 0x5ac41d5c
jmp 0x422970
cmp eax, 0xeffc43d
jle 0x422be9
cmp eax, 0x15aeb713
jg 0x422ca9
cmp eax, 0xeffc43e
je 0x422db4
cmp eax, 0x10c0eff8
jne 0x422970
mov ecx, dword [esp + 4]
mov eax, 0xffffff43
add ecx, eax
imul eax, ecx, 0x477570
imul ecx, ecx
imul edx, ecx, 0x4419
dec edx
add eax, 0xffffffec
mov dword [esp + 4], eax
mov eax, 0xce3864f7
cmp ecx, edx
je 0x422ec9
mov eax, 0xca5ed588
jmp 0x422ec9
cmp eax, 0xd84d8ba5
jg 0x422ccb
cmp eax, 0xcb21ae9c
je 0x422dbd
cmp eax, 0xce3864f7
jne 0x422970
shr esi, 4
imul esi, esi, 0x410
shr esi, 0xd
add esi, 0xffffffb6
push 0x43a4
push esi
push 0x376c
push 0x707
call fcn.0041b1e3
add esp, 0x10
push 0x2477
push esi
call fcn.00416340
add esp, 8
mov eax, 0x99b67fbc
cmp esi, 0xfc
je 0x422ec9
mov eax, 0xcb0f2970
jmp 0x422ec9
cmp eax, 0x76530f7a
jle 0x422cff
cmp eax, 0x76530f7b
je 0x422dc9
cmp eax, 0x7983cfac
jne 0x422970
mov eax, dword [esp + 4]
shr eax, 0xf
imul eax, eax, 0xe1
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x37fb
add eax, 0xffffff76
dec edx
mov dword [esp + 4], eax
mov eax, 0x82a9b641
cmp edx, ecx
je 0x422ec9
mov eax, 0x9e8b0307
jmp 0x422ec9
cmp eax, 0x802ad5a3
je 0x422de6
cmp eax, 0x82a9b641
je 0x422df2
cmp eax, 0x8b644baf
jne 0x422970
mov ecx, dword [esp + 4]
mov eax, 0xfffffe88
add ecx, eax
imul eax, ecx, 0x25eb58
imul ecx, ecx
imul edx, ecx, 0x3545
dec edx
mov dword [esp + 4], eax
mov eax, 0xbdef6eaf
cmp ecx, edx
je 0x422ec9
mov eax, 0xcb21ae9c
jmp 0x422ec9
cmp eax, 0xfceca297
je 0x422e0c
cmp eax, 0x21397d3
je 0x422e20
cmp eax, 0x7e19442
jne 0x422970
imul eax, dword [esp + 4], 0x82000
add eax, 0xffed979c
mov dword [esp + 4], eax
mov dword [esp], 0x5ac41d5c
jmp 0x422970
cmp eax, 0xca5ed588
je 0x422e4f
cmp eax, 0xcb0f2970
jne 0x422970
cmp dword [esp + 0xc], 0
setne byte [esp + 0xb]
mov dword [esp], 0x15aeb714
jmp 0x422970
cmp eax, 0x2a72de9c
je 0x422e5b
cmp eax, 0x3c1bbca1
jne 0x422970
mov dword [esp + 0x20], 0
mov dword [esp], 0x10c0eff8
jmp 0x422970
cmp eax, 0xa80953d8
je 0x422e73
cmp eax, 0xb4122fa0
jne 0x422970
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], 0x9e8b0307
jmp 0x422970
cmp eax, 0x15aeb714
je 0x422e96
cmp eax, 0x17b292b1
jne 0x422970
mov dword [esp], 0x76530f7b
jmp 0x422970
cmp eax, 0xd84d8ba6
je 0x422ed1
cmp eax, 0xee355f59
jne 0x422970
mov eax, dword [esp + 4]
shr eax, 1
and eax, 0xfffff
add eax, 0xffffffeb
mov dword [esp + 4], eax
mov dword [esp], 0xb4122fa0
jmp 0x422970
cmp eax, 0x3e942282
jne 0x422edd
mov dword [esp], 0x3c1bbca1
jmp 0x422970
mov dword [esp], 0x3e942282
jmp 0x422970
shl esi, 6
add esi, 0xffffb500
push 0x4274
push 0x325c
push esi
call fcn.0041ef00
add esp, 0xc
push 0x14aa
push 0x6337
push esi
push 0x1ea5
push 0x1a3e
call fcn.0041b2e1
add esp, 0x14
mov eax, 0xa80953d8
cmp esi, 0xd0
jb 0x422e48
jmp 0x422ec9
mov dword [esp + 0x14], ebp
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x44]
call fcn.004211ff
add esp, 0xc
push ebp
push 0x80
push 2
push ebp
push ebp
push 0x40000000
push dword [esp + 0x58]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x10], eax
mov dword [esp], 0x2a72de9c
jmp 0x422970
shr esi, 0xc
add esi, 0xfd
mov dword [esp], 0x82a9b641
jmp 0x422970
push 0
push ebx
push dword [esp + 0x24]
push dword [esp + 0x18]
push dword [esp + 0x20]
call edi
mov dword [esp], 0xee355f59
jmp 0x422970
mov dword [esp], 0xcb0f2970
jmp 0x422970
cmp dword [esp + 0xc], 0
mov eax, 0x7e19442
je 0x422ec9
mov eax, 0x7983cfac
jmp 0x422ec9
mov dword [esp + 0x18], 0
mov dword [esp], 0x99b67fbc
jmp 0x422970
mov eax, esi
shl eax, 7
sub eax, esi
sub eax, esi
mov esi, eax
add esi, 0xfffffee8
push esi
call fcn.00417f71
add esp, 4
mov eax, 0x3c1bbca1
cmp esi, 0x43
jae 0x422ec9
mov eax, 0x15aeb714
jmp 0x422ec9
mov dword [esp], 0x17b292b1
jmp 0x422970
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
setne byte [esp + 0xa]
mov dword [esp], 0x27e595f9
jmp 0x422970
imul eax, esi, 0x9758
shr eax, 2
imul esi, eax, 0x7c
mov eax, 0x82a9b641
cmp esi, 0xe80
jb 0x422e91
mov eax, 0xeffc43e
shr esi, 7
jmp 0x422ec9
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov cl, byte [esp + 0xa]
mov dl, byte [esp + 0xb]
cmp dword [esp + 0x1c], 0
mov eax, 0xbe5659cb
jg 0x422eb7
mov eax, 0x8b644baf
test dl, dl
jne 0x422ec0
mov eax, 0x8b644baf
test cl, cl
jne 0x422ec9
mov eax, 0x8b644baf
mov dword [esp], eax
jmp 0x422970
mov dword [esp], 0xfceca297
jmp 0x422970
cmp eax, 0x5ac41d5c
jne 0x422970
mov dword [esp + 0x24], esi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret