Function at 0x42f950
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x648
mov eax, 4
imul ecx, eax, 0x10e6
mov edx, dword [ecx + 0x48e6c0]
and edx, 0xa0d36d57
mov eax, 4
imul ecx, eax, 0x10e6
mov dword [ecx + 0x48e6c0], edx
mov ecx, dword [ebp + 8]
call fcn.00442e30
cmp eax, 0x8000
jbe 0x43024e
mov edx, 4
imul eax, edx, 0x35e2
mov ecx, dword [eax + 0x48e6c0]
xor ecx, 0x28000281
mov edx, 4
imul eax, edx, 0x35e2
mov dword [eax + 0x48e6c0], ecx
mov ecx, 2
imul edx, ecx, 0x315f
movsx eax, word [edx + 0x4ab250]
and eax, 0x63ab1f81
mov ecx, 2
imul edx, ecx, 0x315f
mov word [edx + 0x4ab250], ax
mov eax, 4
imul ecx, eax, 0x6eb
imul edx, dword [ecx + 0x48e6c0], 0x73b6d576
mov eax, 4
imul ecx, eax, 0x6eb
mov dword [ecx + 0x48e6c0], edx
mov edx, 4
imul eax, edx, 0x2c0d
mov ecx, 4
imul edx, ecx, 0x498a
mov ecx, dword [edx + 0x48e6c0]
or ecx, 0xd0478be6
mov edx, dword [eax + 0x48e6c0]
xor edx, ecx
mov eax, 4
imul ecx, eax, 0x2c0d
mov dword [ecx + 0x48e6c0], edx
mov edx, 4
imul eax, edx, 0x498a
mov ecx, dword [eax + 0x48e6c0]
add ecx, 1
mov edx, 4
imul eax, edx, 0x498a
mov dword [eax + 0x48e6c0], ecx
lea ecx, [ebp - 0x13c]
push ecx
call fcn.00412be0
add esp, 4
mov dword [ebp - 0x24], eax
mov edx, 4
imul eax, edx, 0x775
mov ecx, 4
imul edx, ecx, 0x518c
mov eax, dword [eax + 0x48e6c0]
or eax, dword [edx + 0x48e6c0]
mov ecx, 4
imul edx, ecx, 0x775
mov dword [edx + 0x48e6c0], eax
mov eax, 4
imul ecx, eax, 0x518c
mov edx, dword [ecx + 0x48e6c0]
add edx, 1
mov eax, 4
imul ecx, eax, 0x518c
mov dword [ecx + 0x48e6c0], edx
call fcn.0045e7b0
movzx edx, al
and edx, 0x80000003
jns 0x42faea
dec edx
or edx, 0xfffffffc
inc edx
add edx, 7
push edx
mov eax, dword [ebp - 0x24]
lea ecx, [ebp + eax - 0x13c]
push ecx
call fcn.00412380
add esp, 8
mov edx, 2
imul eax, edx, 0x2afd
movsx ecx, word [eax + 0x4ab250]
imul edx, ecx, 0xe3aacfd0
mov eax, 2
imul ecx, eax, 0x2afd
mov word [ecx + 0x4ab250], dx
push 5
push 0x95
call fcn.0043dae0
add esp, 8
mov dword [ebp - 0x18], eax
mov edx, 4
imul eax, edx, 0x322d
mov ecx, 4
imul edx, ecx, 0x1842
mov ecx, dword [edx + 0x48e6c0]
shl ecx, 6
add ecx, 0x358eb55c
xor ecx, 0x9864f8c6
mov edx, dword [eax + 0x48e6c0]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0x322d
mov dword [ecx + 0x48e6c0], edx
mov edx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x13c]
push eax
call fcn.00464260
add esp, 8
mov ecx, 4
imul edx, ecx, 0x1d8e
mov eax, dword [edx + 0x48e6c0]
sub eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 4
imul edx, ecx, 0x1d8e
mov eax, dword [ebp - 0x1c]
mov dword [edx + 0x48e6c0], eax
mov ecx, dword [ebp - 0x1c]
and ecx, 0x1402e001
mov edx, 4
imul eax, edx, 0x5ee9
mov dword [eax + 0x48e6c0], ecx
push 3
push 0x123d
call fcn.0043dae0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, 4
imul edx, ecx, 0x2ec6
mov eax, 4
imul ecx, eax, 0xba7
mov edx, dword [edx + 0x48e6c0]
or edx, dword [ecx + 0x48e6c0]
mov eax, 4
imul ecx, eax, 0x2ec6
mov dword [ecx + 0x48e6c0], edx
mov edx, 4
imul eax, edx, 0xba7
mov ecx, dword [eax + 0x48e6c0]
sub ecx, 1
mov edx, 4
imul eax, edx, 0xba7
mov dword [eax + 0x48e6c0], ecx
mov ecx, dword [ebp - 0x18]
push ecx
push 5
call fcn.00438930
add esp, 8
mov edx, 2
imul eax, edx, 0x3f00
movsx ecx, word [eax + 0x4ab250]
and ecx, 0xd4506826
mov edx, 2
imul eax, edx, 0x3f00
mov word [eax + 0x4ab250], cx
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x13c]
push edx
call fcn.004652c1
add esp, 8
mov dword [ebp - 4], eax
mov eax, 2
imul ecx, eax, 0x3fa1
mov edx, 0xffff86a2
mov word [ecx + 0x4ab250], dx
mov eax, dword [ebp - 0x14]
push eax
push 3
call fcn.00438930
add esp, 8
mov ecx, 4
imul edx, ecx, 0x3821
mov dword [edx + 0x48e6c0], 0x1089400
cmp dword [ebp - 4], 0
je 0x4301e6
mov eax, 4
imul ecx, eax, 0x561a
mov dword [ecx + 0x48e6c0], 0x23a24236
mov edx, 2
imul eax, edx, 0x57aa
movsx ecx, word [eax + 0x4ab250]
add ecx, 0x4ef0d5a1
mov edx, 2
imul eax, edx, 0x57aa
mov word [eax + 0x4ab250], cx
mov ecx, dword [ebp - 4]
push ecx
push 1
mov ecx, dword [ebp + 8]
call fcn.00442e30
push eax
mov ecx, dword [ebp + 8]
call fcn.0040d960
push eax
call fcn.00465474
add esp, 0x10
mov edx, 4
imul eax, edx, 0x705a
imul ecx, dword [eax + 0x48e6c0], 0xb3a01b01
mov edx, 4
imul eax, edx, 0x3747
mov edx, dword [eax + 0x48e6c0]
shl edx, 5
and ecx, edx
mov eax, 2
imul edx, eax, 0x4ebe
mov word [edx + 0x4ab250], cx
mov eax, dword [ebp - 4]
push eax
call fcn.00464f96
add esp, 4
mov ecx, 2
imul edx, ecx, 0x2756
mov eax, 4
imul ecx, eax, 0x2a5a
mov eax, dword [ecx + 0x48e6c0]
shl eax, 9
xor eax, 0x74368c99
movsx ecx, word [edx + 0x4ab250]
imul ecx, eax
mov edx, 2
imul eax, edx, 0x2756
mov word [eax + 0x4ab250], cx
mov ecx, dword [ebp + 8]
call fcn.00431520
mov ecx, 2
imul edx, ecx, 0x2c96
mov eax, 4
imul ecx, eax, 0x71d4
mov eax, 0x52625230
sub eax, dword [ecx + 0x48e6c0]
movsx ecx, word [edx + 0x4ab250]
or ecx, eax
mov edx, 2
imul eax, edx, 0x2c96
mov word [eax + 0x4ab250], cx
mov ecx, 4
imul edx, ecx, 0x71d4
mov eax, dword [edx + 0x48e6c0]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x71d4
mov dword [edx + 0x48e6c0], eax
mov eax, 1
imul ecx, eax, 0x104
mov byte [ebp + ecx - 0x244], 0
mov edx, 2
imul eax, edx, 0xf34
movsx ecx, word [eax + 0x4ab250]
imul edx, ecx, 0x31261574
mov eax, 2
imul ecx, eax, 0xf34
mov word [ecx + 0x4ab250], dx
push 0x104
lea edx, [ebp - 0x244]
push edx
push 0
call dword [0x48e5d8]
mov eax, 4
imul ecx, eax, 0x31b
mov edx, dword [ecx + 0x48e6c0]
add edx, 0x632ff1c0
mov eax, 4
imul ecx, eax, 0x31b
mov dword [ecx + 0x48e6c0], edx
mov edx, 1
shl edx, 0xa
mov byte [ebp + edx - 0x648], 0
mov eax, 4
imul ecx, eax, 0x37a4
mov edx, dword [ecx + 0x48e6c0]
sub edx, 0xe01767c
and edx, 0x18793d2c
cmp edx, 0x7bcdff1c
jne 0x42fefe
mov eax, 2
imul ecx, eax, 0x5c98
movsx edx, word [ecx + 0x4ab250]
xor edx, 0xdbadeb64
mov eax, 2
imul ecx, eax, 0x5c98
mov word [ecx + 0x4ab250], dx
push 0x15
push 0x2961
call fcn.0043dae0
add esp, 8
mov dword [ebp - 0x20], eax
mov edx, 2
imul eax, edx, 0x702b
movsx ecx, word [eax + 0x4ab250]
xor ecx, 0x6c64f7e4
mov edx, 2
imul eax, edx, 0x702b
mov word [eax + 0x4ab250], cx
mov ecx, dword [0x48e4cc]
push ecx
mov edx, dword [0x48e4b4]
push edx
lea eax, [ebp - 0x244]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
lea edx, [ebp - 0x648]
push edx
call fcn.004656c0
add esp, 0x14
mov eax, 4
imul ecx, eax, 0x4c29
mov edx, dword [ecx + 0x48e6c0]
or edx, 0x3141cbe9
mov eax, 4
imul ecx, eax, 0x4c29
mov dword [ecx + 0x48e6c0], edx
mov edx, dword [ebp - 0x20]
push edx
push 0x15
call fcn.00438930
add esp, 8
mov eax, 4
imul ecx, eax, 0x6196
mov edx, dword [ecx + 0x48e6c0]
add edx, 1
mov dword [ebp - 8], edx
mov eax, 4
imul ecx, eax, 0x6196
mov edx, dword [ebp - 8]
mov dword [ecx + 0x48e6c0], edx
mov eax, dword [ebp - 8]
add eax, 0x2ed51343
mov ecx, 4
imul edx, ecx, 0x5e08
mov ecx, dword [edx + 0x48e6c0]
imul ecx, eax
mov edx, 4
imul eax, edx, 0x5e08
mov dword [eax + 0x48e6c0], ecx
mov ecx, dword [0x48e4cc]
push ecx
call fcn.004496b0
add esp, 4
mov edx, 4
imul eax, edx, 0x656e
mov ecx, dword [eax + 0x48e6c0]
add ecx, 0x5ae7137e
mov edx, 4
imul eax, edx, 0x656e
mov dword [eax + 0x48e6c0], ecx
lea ecx, [ebp - 0x648]
push ecx
lea edx, [ebp - 0x13c]
push edx
call fcn.0045e450
add esp, 8
mov eax, 4
imul ecx, eax, 0x1e87
mov edx, dword [ecx + 0x48e6c0]
sar edx, 5
cmp edx, 0x1893e538
je 0x430092
mov eax, 2
imul ecx, eax, 0x6972
mov edx, 2
imul eax, edx, 0x2cad
movsx edx, word [eax + 0x4ab250]
movsx eax, word [ecx + 0x4ab250]
imul eax, edx
mov ecx, 2
imul edx, ecx, 0x6972
mov word [edx + 0x4ab250], ax
push 0x401
push 0
lea eax, [ebp - 0x648]
push eax
call fcn.004641c0
add esp, 0xc
mov ecx, 4
imul edx, ecx, 0x22b7
mov eax, dword [edx + 0x48e6c0]
sub eax, 1
mov dword [ebp - 0xc], eax
mov ecx, 4
imul edx, ecx, 0x22b7
mov eax, dword [ebp - 0xc]
mov dword [edx + 0x48e6c0], eax
mov ecx, dword [ebp - 0xc]
or ecx, 0x6216035
mov edx, 4
imul eax, edx, 0x2616
mov edx, dword [eax + 0x48e6c0]
and edx, ecx
mov eax, 4
imul ecx, eax, 0x2616
mov dword [ecx + 0x48e6c0], edx
push 0x105
push 0
lea edx, [ebp - 0x244]
push edx
call fcn.004641c0
add esp, 0xc
mov eax, 4
imul ecx, eax, 0x682b
mov edx, dword [ecx + 0x48e6c0]
xor edx, 0xb26c876d
mov eax, 4
imul ecx, eax, 0x682b
mov dword [ecx + 0x48e6c0], edx
push 0x15f90
call dword [0x48e634]
mov edx, 2
imul eax, edx, 0x5b96
mov ecx, 4
imul edx, ecx, 0x7213
movsx eax, word [eax + 0x4ab250]
sub eax, dword [edx + 0x48e6c0]
mov ecx, 2
imul edx, ecx, 0x5b96
mov word [edx + 0x4ab250], ax
lea eax, [ebp - 0x13c]
push eax
call dword [0x48e57c]
mov ecx, 2
imul edx, ecx, 0x3608
movsx eax, word [edx + 0x4ab250]
cmp eax, 0x8aa60c7
jge 0x4301e6
mov ecx, 4
imul edx, ecx, 0x5dde
mov eax, dword [edx + 0x48e6c0]
shl eax, 6
cmp eax, 0x80acba61
jle 0x4301e6
mov ecx, 4
imul edx, ecx, 0x29a6
mov eax, dword [edx + 0x48e6c0]
sub eax, 0x3775bd62
mov ecx, 4
imul edx, ecx, 0x29a6
mov dword [edx + 0x48e6c0], eax
mov eax, 4
imul ecx, eax, 0x37a7
mov edx, dword [ecx + 0x48e6c0]
sub edx, 0x67e2f260
mov eax, 4
imul ecx, eax, 0x37a7
mov dword [ecx + 0x48e6c0], edx
push 0x118
push 0
lea edx, [ebp - 0x13c]
push edx
call fcn.004641c0
add esp, 0xc
mov eax, 2
imul ecx, eax, 0x52f4
movsx edx, word [ecx + 0x4ab250]
imul eax, edx, 0xf7c2fb1f
mov ecx, 2
imul edx, ecx, 0x52f4
mov word [edx + 0x4ab250], ax
mov eax, 4
imul ecx, eax, 0xdfd
mov edx, dword [ecx + 0x48e6c0]
sub edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0xdfd
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x48e6c0], edx
mov eax, dword [ebp - 0x10]
add eax, 0x79225dfd
or eax, 0x54be5413
mov ecx, 2
imul edx, ecx, 0x3149
movsx ecx, word [edx + 0x4ab250]
or ecx, eax
mov edx, 2
imul eax, edx, 0x3149
mov word [eax + 0x4ab250], cx
mov esp, ebp
pop ebp
ret