Function at 0x41bb80
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov eax, dword [0x4353ac]
mov esi, ecx
xor eax, esp
mov dword [esp + 0x5c], eax
lea eax, [ecx + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
lea eax, [ecx + 0x40]
mov dword [esp + 0x24], eax
lea eax, [ecx + 0x3d]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], eax
mov eax, 0xec501e14
nop word cs:[eax + eax]
nop
cmp eax, 0x154200d0
jle 0x41bc30
cmp eax, 0x434ac5f1
jg 0x41bc80
cmp eax, 0x20bef6d6
jg 0x41bd15
cmp eax, 0x1c6ea6bb
jg 0x41be58
cmp eax, 0x154200d1
je 0x41c09b
cmp eax, 0x1a52f8cf
jne 0x41bbd0
push dword [esi + 0x4c]
push dword [esp + 0x24]
push 1
push dword [esp + 0x20]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
mov ecx, dword [esp + 0x20]
cmp ecx, eax
mov eax, 0x630d72aa
jmp 0x41c0b1
cmp eax, 0xc86abc74
jle 0x41bcd0
cmp eax, 0xf8c8b36a
jg 0x41bd40
cmp eax, 0xec501e13
jg 0x41be84
cmp eax, 0xc86abc75
je 0x41c0be
cmp eax, 0xe4a605e8
jne 0x41bbd0
cmp dword [esp + 4], 0
mov eax, 0x280f489b
mov ecx, 0xc86abc75
cmove eax, ecx
jmp 0x41bbd0
cmp eax, 0x7668a8a0
jg 0x41bd9a
cmp eax, 0x630d72a9
jg 0x41bea4
cmp eax, 0x434ac5f2
je 0x41c0cf
cmp eax, 0x52021b52
jne 0x41bbd0
mov eax, dword [esp + 4]
mov ecx, 0x20bef6d7
cmp eax, 3
mov eax, 0x280f489b
cmove eax, ecx
jmp 0x41bbd0
cmp eax, 0xb399eb83
jle 0x41be1e
cmp eax, 0xc2fd0910
jg 0x41bf79
cmp eax, 0xb399eb84
je 0x41c0d9
cmp eax, 0xbf3e354d
jne 0x41bbd0
mov eax, dword [esp + 4]
mov ecx, 0xaab77b88
cmp eax, 3
mov eax, 0x52021b52
cmovl eax, ecx
jmp 0x41bbd0
cmp eax, 0x2a841183
jg 0x41bfc1
cmp eax, 0x20bef6d7
je 0x41c117
cmp eax, 0x280f489b
jne 0x41bbd0
mov eax, 0x2a841184
jmp 0x41bbd0
cmp eax, 0xbc77c46
jg 0x41c028
cmp eax, 0xf8c8b36b
je 0x41c12e
cmp eax, 0xb45f34f
jne 0x41bbd0
mov eax, dword [0x435668]
mov ecx, dword [0x43566c]
mov edi, 0x79c8e8f6
mov ebx, 0x37929f63
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne edi, ebx
cmp edx, 0xffffffff
jmp 0x41c070
cmp eax, 0x79c8e8f5
jg 0x41c080
cmp eax, 0x7668a8a1
je 0x41c140
cmp eax, 0x7713cc39
jne 0x41bbd0
lea edx, [esp + 0x3c]
lea edi, [esp + 0x38]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
mov edx, dword [ecx]
add eax, 0x20
push edi
push eax
push dword [esp + 0x1c]
push dword [esp + 0x30]
call dword [edx + 0x20]
mov dword [esp + 4], eax
mov eax, dword [0x435668]
mov ebx, 0xf6572038
mov edi, 0xc2fd0911
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xc2fd0911
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x41c00b
cmp eax, 0x85a2a2f8
je 0x41c15a
cmp eax, 0x985a64c3
je 0x41c172
cmp eax, 0xaab77b88
jne 0x41bbd0
mov eax, dword [esp + 4]
mov ecx, 0x154200d1
cmp eax, 1
mov eax, 0x280f489b
cmove eax, ecx
jmp 0x41bbd0
cmp eax, 0x1c6ea6bc
je 0x41c184
cmp eax, 0x205cb229
jne 0x41bbd0
cmp byte [esp], 0
mov eax, 0xc39e88d6
mov ecx, 0x6367de3e
cmovne eax, ecx
jmp 0x41bbd0
cmp eax, 0xec501e14
je 0x41c19b
cmp eax, 0xf6572038
jne 0x41bbd0
mov eax, 0x1c6ea6bc
jmp 0x41bbd0
cmp eax, 0x630d72aa
je 0x41c1b2
cmp eax, 0x6367de3e
jne 0x41bbd0
mov eax, dword [esi]
mov ecx, esi
push 0xffffffffffffffff
call dword [eax + 0xc]
mov ecx, dword [0x4355a0]
mov edx, dword [0x4355a4]
mov ebp, 0x26d93bcb
lea edi, [ecx - 1]
imul edi, ecx
mov ecx, 0x26d93bcb
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
mov edi, 0x7b1b3279
sete bl
sete byte [esp + 1]
cmove ecx, edi
cmp edx, 0xa
setl dl
setl byte [esp + 2]
cmovge ecx, ebp
xor dl, bl
mov edx, 0x706d550f
cmovne ecx, edi
nop
cmp edx, 0x706d550e
jg 0x41bf30
cmp edx, 0xf515fad9
je 0x41bf6d
cmp edx, 0x26d93bcb
jne 0x41bf10
mov edx, 0xf515fad9
jmp 0x41bf10
cmp edx, 0x7b1b3279
je 0x41c1c4
cmp edx, 0x706d550f
jne 0x41bf10
movzx ebx, byte [esp + 1]
movzx edx, byte [esp + 2]
mov edi, 0x26d93bcb
mov ebp, 0xf515fad9
mov dh, bl
xor dh, dl
cmovne edi, ebp
test dl, dl
mov edx, edi
cmovne edx, ebp
test bl, bl
cmove edx, edi
jmp 0x41bf10
cmp eax, 0xffffffff
mov edx, ecx
sete byte [esp + 3]
jmp 0x41bf10
cmp eax, 0xc2fd0911
je 0x41c1db
cmp eax, 0xc39e88d6
jne 0x41bbd0
mov eax, dword [0x435668]
mov ecx, dword [0x43566c]
mov edi, 0x434ac5f2
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x1009a999
jmp 0x41c06b
cmp eax, 0x2a841184
je 0x41c203
cmp eax, 0x37929f63
jne 0x41bbd0
mov eax, dword [esp + 0x30]
mov ebx, 0x205cb229
mov edi, 0x79c8e8f6
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp byte [eax], 0
mov eax, dword [0x435668]
lea ecx, [eax - 1]
setne byte [esp]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x79c8e8f6
sete cl
cmove eax, ebx
cmp dword [0x43566c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x41bbd0
cmp eax, 0xbc77c47
je 0x41c215
cmp eax, 0x1009a999
jne 0x41bbd0
mov eax, dword [0x435668]
mov ecx, dword [0x43566c]
mov edi, 0x434ac5f2
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xbc77c47
cmovne edi, ebx
test eax, edx
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x41bbd0
cmp eax, 0x79c8e8f6
je 0x41c225
cmp eax, 0x7bde62cb
jne 0x41bbd0
jmp 0x41c22f
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, 0x1a52f8cf
cmp dword [esp + 0x20], 0
mov ecx, 0x85a2a2f8
cmove eax, ecx
jmp 0x41bbd0
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov eax, 0x154200d1
jmp 0x41bbd0
mov eax, 0x1009a999
jmp 0x41bbd0
mov eax, dword [0x435668]
mov edi, 0x7713cc39
mov ebx, 0xc2fd0911
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc2fd0911
sete cl
cmove eax, edi
cmp dword [0x43566c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x41bbd0
mov eax, dword [esp + 0x10]
mov cl, 1
mov dword [esp + 8], ecx
mov byte [eax], 0
mov eax, 0x7668a8a1
jmp 0x41bbd0
mov ecx, dword [esp + 0x18]
mov eax, 0x7668a8a1
mov dword [esp + 8], ecx
jmp 0x41bbd0
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 8]
mov eax, 0x7bde62cb
mov dword [esp + 0xc], ecx
jmp 0x41bbd0
mov eax, dword [esp + 0x10]
cmp byte [eax], 0
sete al
mov dword [esp + 0x18], eax
mov eax, 0xf8c8b36b
jmp 0x41bbd0
mov eax, 0x7bde62cb
mov dword [esp + 0xc], 0
jmp 0x41bbd0
cmp dword [esp + 4], 0
mov eax, 0xbf3e354d
mov ecx, 0xe4a605e8
cmovle eax, ecx
jmp 0x41bbd0
cmp dword [esp + 0x34], 0
mov eax, 0xb45f34f
mov ecx, 0xc39e88d6
cmove eax, ecx
jmp 0x41bbd0
mov eax, 0xf8c8b36b
mov dword [esp + 0x18], 0
jmp 0x41bbd0
cmp byte [esp + 3], 0
mov eax, 0xb399eb84
mov ecx, 0x985a64c3
cmovne eax, ecx
jmp 0x41bbd0
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x38]
mov ecx, dword [eax]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x60]
push edx
lea edx, [esp + 0x44]
push edx
push dword [esp + 0x30]
call dword [eax + 0x20]
mov eax, 0x7713cc39
jmp 0x41bbd0
mov eax, 0x7668a8a1
mov dword [esp + 8], 0
jmp 0x41bbd0
mov cl, 1
mov eax, 0x7bde62cb
mov dword [esp + 0xc], ecx
jmp 0x41bbd0
mov eax, 0x37929f63
jmp 0x41bbd0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
xor ecx, esp
and bl, 1
call fcn.0043082b
mov eax, ebx
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret