Function at 0x40dc70
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x45de84]
sub esp, 0x624
inc dword [0x45de84]
add eax, 0x3f330ea2
cmp eax, 0xd1dde1fc
jle 0x40dcb2
mov ax, word [0x4799bc]
mov ecx, dword [0x46388c]
cwde
or ecx, eax
or ecx, 0x75c94ebe
mov dword [0x467bb8], ecx
inc word [0x4799bc]
push edi
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.004057a0
cmp eax, 0x8000
jbe 0x40e208
movsx ecx, word [0x47be20]
movsx eax, word [0x4708e2]
shl ecx, 8
imul eax, ecx
or dword [0x46d558], eax
mov eax, dword [0x4588ec]
or eax, 0x37b22d8b
and dword [0x45eee8], eax
mov eax, dword [0x463d84]
or eax, 0x27887998
cmp eax, 0x7facf59f
jle 0x40dd23
dec dword [0x46d158]
mov eax, dword [0x46d158]
and eax, 0xa835a41a
xor eax, 0x9335c98e
add eax, dword [0x45dfec]
mov dword [0x45dfec], eax
mov ecx, dword [0x4600fc]
mov eax, dword [0x46c098]
not ecx
xor eax, ecx
or eax, 0xeb3b24ac
cmp eax, 0x6bb1d088
je 0x40dd50
movzx eax, word [0x4722c8]
or eax, 0x3f3ad44a
mov word [0x4722c8], ax
push ebx
lea eax, [ebp - 0x118]
push esi
push eax
call fcn.0040a2b0
imul ecx, dword [0x46f1b0], 0x8d10a204
mov esi, eax
mov dword [0x46f1b0], ecx
call fcn.00403470
movzx ecx, al
and ecx, 0x80000003
jns 0x40dd85
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
lea eax, [ebp - 0x118]
push ecx
add eax, esi
push eax
call fcn.00425b20
mov eax, dword [0x45af28]
shl eax, 0xa
xor eax, 0xb1929f55
add dword [0x4666d8], eax
push 5
push 0x30b1
call fcn.0040d520
or dword [0x46e8fc], 0x9c6cf017
mov esi, eax
lea eax, [ebp - 0x118]
push esi
push eax
call fcn.0042d760
movzx ecx, word [0x47630a]
or ecx, 0xa5a1a0a9
push 3
mov word [0x47630a], cx
push 0x151f
call fcn.0040d520
inc dword [0x46495c]
add esp, 0x24
mov ecx, dword [0x46495c]
mov ebx, eax
mov edx, dword [0x45eed4]
inc dword [0x45eed4]
and edx, ecx
cmp edx, 0xbe60c5a5
jne 0x40de20
mov dword [0x467ad4], 0x75626e50
push esi
push 5
call fcn.0041b660
or dword [0x460df8], 0x216c3b32
lea eax, [ebp - 0x118]
push ebx
push eax
call fcn.0042e5d1
mov ecx, dword [0x461364]
add esp, 0x10
mov edx, dword [0x469d18]
mov esi, eax
sar ecx, 2
imul edx, ecx
movsx ecx, word [0x4797de]
inc word [0x4797de]
or ecx, edx
cmp ecx, 0x87cb41b4
jl 0x40de99
mov eax, dword [0x45f1e4]
mov ecx, 0xc159cb90
sub ecx, eax
cmp dword [0x460054], ecx
jge 0x40deab
mov eax, dword [0x46ce40]
add eax, 0x7ccb919
or eax, 0xcfcaeac5
add dword [0x4604ac], eax
jmp 0x40deab
movzx eax, word [0x479db6]
xor eax, 0x891f651
mov word [0x479db6], ax
push ebx
push 3
call fcn.0041b660
mov eax, dword [0x46c548]
add esp, 8
not eax
or dword [0x45a18c], eax
test esi, esi
je 0x40e1c1
mov ecx, dword [0x458818]
mov eax, dword [0x4578b0]
and ecx, 0xae087e6d
dec dword [0x4578b0]
or eax, 0x1ada19c9
inc dword [0x458818]
cmp ecx, eax
jge 0x40defb
add dword [0x46aa08], 0x6b7bc831
movzx eax, word [0x477d94]
mov ecx, edi
push esi
xor eax, 0xfdbf5776
mov word [0x477d94], ax
push 1
call fcn.004057a0
push eax
mov ecx, edi
call fcn.0041ba60
push eax
call fcn.0042e784
mov eax, dword [0x46c79c]
add esp, 0x10
mov ecx, dword [0x46f114]
sar eax, 4
add eax, 0xa09a733
xor ecx, eax
cmp ecx, 0x72ef6592
jge 0x40df62
mov eax, dword [0x45b328]
movzx edx, word [0x471860]
shl eax, 4
add eax, 0xb54a030c
and edx, eax
mov word [0x471860], dx
push esi
call fcn.0042e496
and dword [0x468bec], 0x1f161059
add esp, 4
mov ecx, edi
call fcn.0041ba90
mov ecx, dword [0x45c55c]
movsx eax, word [0x476186]
xor ecx, 0x56f65e02
not eax
cmp eax, ecx
jge 0x40dfbe
inc dword [0x45e628]
mov eax, dword [0x45e628]
mov ecx, dword [0x46afc4]
not ecx
and ecx, eax
cmp ecx, 0xd70bb4ac
jl 0x40dfe2
add dword [0x467908], 0x2a599d35
jmp 0x40dfe2
imul eax, dword [0x463b18], 0xce95cd3
mov ecx, 0xbe701f66
dec dword [0x463b18]
sub ecx, eax
cmp ecx, 0xcb45621
jle 0x40dfe2
mov eax, dword [0x45b894]
push 0x104
lea eax, [ebp - 0x220]
mov byte [ebp - 0x11c], 0
or dword [0x46dbdc], 0xb82c4477
push eax
push 0
call dword [0x457598]
add dword [0x461380], 0x73d7ecda
mov ax, word [0x47995a]
mov ecx, dword [0x45787c]
cwde
imul ecx, eax
mov byte [ebp - 0x224], 0
push 0x15
push 0x2b60
mov dword [0x45787c], ecx
dec word [0x47995a]
call fcn.0040d520
movsx ecx, word [0x474ebe]
add esp, 8
dec word [0x474ebe]
mov esi, eax
cmp ecx, 0x9a76c7dc
jle 0x40e066
mov dword [0x457afc], 0xef43b239
push dword [0x457494]
lea eax, [ebp - 0x220]
push dword [0x45747c]
push eax
lea eax, [ebp - 0x624]
push esi
push eax
call fcn.0042e909
movzx eax, word [0x474846]
cwde
sub dword [0x46148c], eax
dec word [0x474846]
push esi
push 0x15
call fcn.0041b660
movzx eax, word [0x4722b2]
push dword [0x457494]
add eax, 0x1b70bc1
mov word [0x4722b2], ax
call fcn.004169a0
movsx eax, word [0x473876]
sar eax, 3
imul eax, eax, 0xc90cca63
or eax, 0x8c5c3168
add dword [0x4617dc], eax
lea eax, [ebp - 0x624]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0041c340
mov eax, dword [0x46ba68]
not eax
or eax, 0x2101431d
mov dword [0x45d790], eax
lea eax, [ebp - 0x624]
push 0x401
push 0
push eax
call fcn.0042d6c0
movzx eax, word [0x47022c]
imul eax, eax, 0xff6b5efb
push 0x105
push 0
mov word [0x47022c], ax
lea eax, [ebp - 0x220]
push eax
call fcn.0042d6c0
mov eax, dword [0x46be04]
add esp, 0x40
or eax, dword [0x4630dc]
or eax, 0xedf77677
cmp eax, 0x905d63a2
jg 0x40e15c
and dword [0x45acbc], 0x335544b6
push 0x15f90
call dword [0x4575fc]
mov eax, dword [0x46f1dc]
and eax, 0x523fe13a
cmp eax, 0x824e22
jge 0x40e196
dec dword [0x46ccf8]
mov eax, dword [0x46ccf8]
or eax, 0xe011832f
imul eax, dword [0x46d4fc]
mov dword [0x46d4fc], eax
jmp 0x40e1aa
imul eax, dword [0x462570], 0x87192c0
or eax, 0x3024e324
mov dword [0x469f6c], eax
lea eax, [ebp - 0x118]
push eax
call dword [0x457544]
xor dword [0x46a538], 0xdcb674a7
movzx eax, word [0x4750d4]
and eax, 0x667efe24
mov word [0x4750d4], ax
lea eax, [ebp - 0x118]
push 0x118
push 0
push eax
call fcn.0042d6c0
mov ecx, dword [0x461e70]
add esp, 0xc
movzx eax, word [0x473dbe]
shl ecx, 8
or eax, ecx
or eax, 0xa40189bc
pop esi
mov word [0x473dbe], ax
pop ebx
movsx eax, word [0x476f90]
imul eax, eax, 0x2fd2007c
pop edi
or eax, 0x10358779
cmp eax, 0xddad9323
je 0x40e237
mov eax, dword [0x46ce00]
and eax, dword [0x4671b8]
and eax, 0xd0883049
mov dword [0x46ce00], eax
mov esp, ebp
pop ebp
ret