Function at 0x43a5e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64c
mov eax, 4
imul ecx, eax, 0x86c
mov edx, dword [ecx + 0x491c38]
not edx
mov eax, 0xd36a9df5
sub eax, edx
add eax, 0x1bb2c72d
cmp eax, 0xcbdffef7
jle 0x43a6b1
mov ecx, 4
imul edx, ecx, 0x39a
mov eax, dword [edx + 0x491c38]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, 4
imul edx, ecx, 0x39a
mov eax, dword [ebp - 0xc]
mov dword [edx + 0x491c38], eax
mov ecx, 4
imul edx, ecx, 0xd28
mov eax, 2
imul ecx, eax, 0x4c2
movsx eax, word [ecx + 0x48fce0]
sub eax, dword [edx + 0x491c38]
or eax, dword [ebp - 0xc]
mov ecx, 4
imul edx, ecx, 0xcbc
mov ecx, dword [edx + 0x491c38]
imul ecx, eax
mov edx, 4
imul eax, edx, 0xcbc
mov dword [eax + 0x491c38], ecx
mov ecx, 2
imul edx, ecx, 0x4c2
mov ax, word [edx + 0x48fce0]
add ax, 1
mov ecx, 2
imul edx, ecx, 0x4c2
mov word [edx + 0x48fce0], ax
mov ecx, dword [ebp + 8]
call fcn.0045bdb0
cmp eax, 0x8000
jbe 0x43b130
mov eax, 4
imul ecx, eax, 0x22a
imul edx, dword [ecx + 0x491c38], 0x5551153c
add edx, 0x45b8e127
cmp edx, 0x719bfba7
jne 0x43a74e
mov eax, 4
imul ecx, eax, 0x6bc
cmp dword [ecx + 0x491c38], 0xa7aee9ab
jge 0x43a728
mov edx, 4
imul eax, edx, 0xa17
mov ecx, dword [eax + 0x491c38]
xor ecx, 0x89dc6dd4
mov edx, 4
imul eax, edx, 0xa17
mov dword [eax + 0x491c38], ecx
jmp 0x43a74e
mov ecx, 4
imul edx, ecx, 0x960
imul eax, dword [edx + 0x491c38], 0xe337f3bf
mov ecx, 4
imul edx, ecx, 0x960
mov dword [edx + 0x491c38], eax
mov eax, 4
imul ecx, eax, 0x46b
mov edx, 4
imul eax, edx, 0x898
mov edx, dword [eax + 0x491c38]
add edx, 0x5067c92b
mov eax, dword [ecx + 0x491c38]
or eax, edx
mov dword [ebp - 0x1c], eax
mov ecx, 4
imul edx, ecx, 0x46b
mov eax, dword [edx + 0x491c38]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x46b
mov dword [edx + 0x491c38], eax
cmp dword [ebp - 0x1c], 0xaabddfbb
je 0x43a803
mov eax, 4
imul ecx, eax, 0x59f
mov edx, 4
imul eax, edx, 0x7ee
mov ecx, dword [ecx + 0x491c38]
or ecx, dword [eax + 0x491c38]
mov edx, 4
imul eax, edx, 0x59f
mov dword [eax + 0x491c38], ecx
mov ecx, 4
imul edx, ecx, 0x7ee
mov eax, dword [edx + 0x491c38]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x7ee
mov dword [edx + 0x491c38], eax
jmp 0x43a842
mov eax, 4
imul ecx, eax, 0x3c8
cmp dword [ecx + 0x491c38], 0x25cf9ae2
je 0x43a842
mov edx, 4
imul eax, edx, 0xc72
mov ecx, dword [eax + 0x491c38]
xor ecx, 0x7a7ee6bf
mov edx, 4
imul eax, edx, 0xc72
mov dword [eax + 0x491c38], ecx
mov ecx, 2
imul edx, ecx, 0xf9
movsx eax, word [edx + 0x48fce0]
xor eax, 0x2baae05b
mov ecx, 2
imul edx, ecx, 0xf9
mov word [edx + 0x48fce0], ax
mov eax, 2
imul ecx, eax, 0x182
movsx edx, word [ecx + 0x48fce0]
or edx, 0x2e40497c
mov eax, 2
imul ecx, eax, 0x182
mov word [ecx + 0x48fce0], dx
lea edx, [ebp - 0x140]
push edx
call fcn.00450b00
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, 4
imul ecx, eax, 0x5cc
mov edx, dword [ecx + 0x491c38]
xor edx, 0xa91e7c8f
mov eax, 4
imul ecx, eax, 0xaf1
mov dword [ecx + 0x491c38], edx
mov edx, 4
imul eax, edx, 0x5cc
mov ecx, dword [eax + 0x491c38]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x5cc
mov dword [eax + 0x491c38], ecx
call fcn.00418b40
movzx ecx, al
and ecx, 0x80000003
jns 0x43a909
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
push ecx
mov edx, dword [ebp - 0x24]
lea eax, [ebp + edx - 0x140]
push eax
call fcn.00436680
add esp, 8
mov ecx, 2
imul edx, ecx, 0x3be
mov ax, word [edx + 0x48fce0]
sub ax, 1
mov word [ebp - 2], ax
mov ecx, 2
imul edx, ecx, 0x3be
mov ax, word [ebp - 2]
mov word [edx + 0x48fce0], ax
movsx ecx, word [ebp - 2]
imul edx, ecx, 0x715b8164
and edx, 0xf5acc667
mov eax, 4
imul ecx, eax, 0x9eb
mov eax, dword [ecx + 0x491c38]
sub eax, edx
mov ecx, 4
imul edx, ecx, 0x9eb
mov dword [edx + 0x491c38], eax
push 5
push 0x6a5
call fcn.00455130
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, 4
imul ecx, eax, 0x181
mov edx, dword [ecx + 0x491c38]
sub edx, 0x7ffefff7
mov eax, 4
imul ecx, eax, 0x181
mov dword [ecx + 0x491c38], edx
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0x140]
push eax
call fcn.004649b0
add esp, 8
mov ecx, 4
imul edx, ecx, 0x23a
mov dword [edx + 0x491c38], 0xe5296e7d
push 3
push 0x3a11
call fcn.00455130
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, 4
imul ecx, eax, 0xf15
mov edx, dword [ecx + 0x491c38]
sar edx, 0xa
sub edx, 0x6b9ab11b
xor edx, 0x9fce7667
mov eax, 4
imul ecx, eax, 0x534
mov eax, dword [ecx + 0x491c38]
sub eax, 0x148fd1f7
cmp edx, eax
je 0x43aa59
mov ecx, 4
imul edx, ecx, 0xcf6
mov eax, dword [edx + 0x491c38]
sub eax, 0x58e3dd95
mov ecx, 4
imul edx, ecx, 0xcf6
mov dword [edx + 0x491c38], eax
mov eax, dword [ebp - 0x14]
push eax
push 5
call fcn.0045be30
add esp, 8
mov ecx, 2
imul edx, ecx, 0xa24
movsx eax, word [edx + 0x48fce0]
or eax, 0x41484380
mov ecx, 2
imul edx, ecx, 0xa24
mov word [edx + 0x48fce0], ax
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x140]
push ecx
call fcn.00465a11
add esp, 8
mov dword [ebp - 8], eax
mov edx, 4
imul eax, edx, 0x722
mov ecx, dword [eax + 0x491c38]
sub ecx, 0x7911dd21
mov edx, 4
imul eax, edx, 0x722
mov dword [eax + 0x491c38], ecx
mov ecx, dword [ebp - 0x10]
push ecx
push 3
call fcn.0045be30
add esp, 8
mov edx, 4
imul eax, edx, 0xff
mov ecx, 4
imul edx, ecx, 0xdf2
mov ecx, dword [edx + 0x491c38]
sar ecx, 9
mov edx, dword [eax + 0x491c38]
add edx, ecx
mov eax, 4
imul ecx, eax, 0xff
mov dword [ecx + 0x491c38], edx
cmp dword [ebp - 8], 0
je 0x43b06c
mov edx, 4
imul eax, edx, 0x65e
mov dword [eax + 0x491c38], 0xb8786f4c
mov ecx, 4
imul edx, ecx, 0xe89
mov eax, dword [edx + 0x491c38]
or eax, 0x11444091
mov ecx, 4
imul edx, ecx, 0xe89
mov dword [edx + 0x491c38], eax
mov eax, dword [ebp - 8]
push eax
push 1
mov ecx, dword [ebp + 8]
call fcn.0045bdb0
push eax
mov ecx, dword [ebp + 8]
call fcn.00448050
push eax
call fcn.00465bc4
add esp, 0x10
mov ecx, 4
imul edx, ecx, 0x5c
mov eax, 4
imul ecx, eax, 0x4d0
mov eax, dword [ecx + 0x491c38]
not eax
xor eax, 0x4924fba8
mov ecx, 2
imul ecx, ecx, 0x45b
movsx ecx, word [ecx + 0x48fce0]
shl ecx, 2
or eax, ecx
mov edx, dword [edx + 0x491c38]
imul edx, eax
mov eax, 4
imul ecx, eax, 0x5c
mov dword [ecx + 0x491c38], edx
mov edx, dword [ebp - 8]
push edx
call fcn.004656e6
add esp, 4
mov eax, 4
imul ecx, eax, 0x9c9
mov dword [ecx + 0x491c38], 0x7896525e
mov ecx, dword [ebp + 8]
call fcn.0042f1e0
mov edx, 4
imul eax, edx, 0x54b
mov ecx, dword [eax + 0x491c38]
sub ecx, 0x459004b
mov edx, 4
imul eax, edx, 0x54b
mov dword [eax + 0x491c38], ecx
mov ecx, 1
imul edx, ecx, 0x104
mov byte [ebp + edx - 0x248], 0
mov eax, 4
imul ecx, eax, 0x1d5
imul edx, dword [ecx + 0x491c38], 0xea6ecf56
mov dword [ebp - 0x28], edx
mov eax, 2
imul ecx, eax, 0xf29
movsx edx, word [ecx + 0x48fce0]
not edx
imul eax, edx, 0xb6c230d5
mov dword [ebp - 0x20], eax
mov ecx, 4
imul edx, ecx, 0x1d5
mov eax, dword [edx + 0x491c38]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x1d5
mov dword [edx + 0x491c38], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
je 0x43acef
mov ecx, 4
imul edx, ecx, 0x6fa
mov eax, dword [edx + 0x491c38]
not eax
imul ecx, eax, 0xfc58cc38
or ecx, 0xf8fd43b6
cmp ecx, 0x10e02000
jge 0x43acdd
mov edx, 4
imul eax, edx, 0x2aa
imul ecx, dword [eax + 0x491c38], 0xe69a227e
mov eax, 4
imul ecx, eax, 0x549
mov eax, dword [ecx + 0x491c38]
jmp 0x43acef
mov ecx, 2
imul edx, ecx, 0x71c
movsx eax, word [edx + 0x48fce0]
push 0x104
lea ecx, [ebp - 0x248]
push ecx
push 0
call dword [0x48fbf8]
mov edx, 4
imul eax, edx, 0x7c3
mov ecx, 4
imul edx, ecx, 0x25f
mov ecx, dword [edx + 0x491c38]
xor ecx, 0xb5de3a41
mov edx, dword [eax + 0x491c38]
add edx, ecx
mov eax, 4
imul ecx, eax, 0x7c3
mov dword [ecx + 0x491c38], edx
mov edx, 4
imul eax, edx, 0x25f
mov ecx, dword [eax + 0x491c38]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x25f
mov dword [eax + 0x491c38], ecx
mov ecx, 1
shl ecx, 0xa
mov byte [ebp + ecx - 0x64c], 0
mov edx, 4
imul eax, edx, 0x3f9
mov ecx, dword [eax + 0x491c38]
or ecx, 0x466c8b00
mov edx, 4
imul eax, edx, 0x3f9
mov dword [eax + 0x491c38], ecx
push 0x15
push 0x3f5d
call fcn.00455130
add esp, 8
mov dword [ebp - 0x18], eax
mov ecx, 2
imul edx, ecx, 0x920
mov eax, 4
imul ecx, eax, 0xf36
mov eax, dword [ecx + 0x491c38]
add eax, 0x1614d2b7
and eax, 0x6b53ccb6
movsx ecx, word [edx + 0x48fce0]
or ecx, eax
mov edx, 2
imul eax, edx, 0x920
mov word [eax + 0x48fce0], cx
mov ecx, 4
imul edx, ecx, 0xf36
mov eax, dword [edx + 0x491c38]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0xf36
mov dword [edx + 0x491c38], eax
mov eax, dword [0x48faec]
push eax
mov ecx, dword [0x48fad4]
push ecx
lea edx, [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x64c]
push ecx
call fcn.00465e10
add esp, 0x14
mov edx, 4
imul eax, edx, 0x9af
imul ecx, dword [eax + 0x491c38], 0xa350529e
mov edx, 4
imul eax, edx, 0x9af
mov dword [eax + 0x491c38], ecx
mov ecx, dword [ebp - 0x18]
push ecx
push 0x15
call fcn.0045be30
add esp, 8
mov edx, 4
imul eax, edx, 0xee6
mov ecx, dword [eax + 0x491c38]
xor ecx, 0x4f55f79d
mov edx, 4
imul eax, edx, 0xee6
mov dword [eax + 0x491c38], ecx
mov ecx, dword [0x48faec]
push ecx
call fcn.0044a080
add esp, 4
mov edx, 4
imul eax, edx, 0x34
mov ecx, dword [eax + 0x491c38]
xor ecx, 0x8080ea02
mov edx, 4
imul eax, edx, 0x34
mov dword [eax + 0x491c38], ecx
lea ecx, [ebp - 0x64c]
push ecx
lea edx, [ebp - 0x140]
push edx
call fcn.0044f8d0
add esp, 8
mov eax, 4
imul ecx, eax, 0xcc3
mov edx, dword [ecx + 0x491c38]
add edx, 0x59761175
mov eax, 4
imul ecx, eax, 0xcc3
mov dword [ecx + 0x491c38], edx
push 0x401
push 0
lea edx, [ebp - 0x64c]
push edx
call fcn.00464910
add esp, 0xc
mov eax, 4
imul ecx, eax, 0x498
mov dword [ecx + 0x491c38], 0xc58e311c
push 0x105
push 0
lea edx, [ebp - 0x248]
push edx
call fcn.00464910
add esp, 0xc
mov eax, 4
imul ecx, eax, 0xb4b
mov edx, dword [ecx + 0x491c38]
add edx, 0x2e89ec9a
cmp edx, 0x685b28ca
jge 0x43af91
mov eax, 2
imul ecx, eax, 0x3d6
movsx edx, word [ecx + 0x48fce0]
add edx, 0xf951b7c
mov eax, 2
imul ecx, eax, 0x3d6
mov word [ecx + 0x48fce0], dx
jmp 0x43afd2
mov edx, 4
imul eax, edx, 0xc06
mov ecx, 4
imul edx, ecx, 0x2b8
mov ecx, dword [edx + 0x491c38]
add ecx, 0x66187fe9
and ecx, 0x15202455
mov edx, dword [eax + 0x491c38]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0xc06
mov dword [ecx + 0x491c38], edx
push 0x15f90
call dword [0x48fc54]
mov edx, 4
imul eax, edx, 0xda5
mov ecx, dword [eax + 0x491c38]
sub ecx, 0x51429cf
mov edx, 4
imul eax, edx, 0xda5
mov dword [eax + 0x491c38], ecx
lea ecx, [ebp - 0x140]
push ecx
call dword [0x48fb9c]
mov edx, 4
imul eax, edx, 0xe3d
mov ecx, dword [eax + 0x491c38]
sar ecx, 3
and ecx, 0x7d3150d
mov edx, 4
imul eax, edx, 0x519
mov edx, dword [eax + 0x491c38]
shl edx, 0xa
or edx, 0x5532c40
cmp ecx, edx
jg 0x43b06c
mov eax, 4
imul ecx, eax, 0x3e
mov edx, dword [ecx + 0x491c38]
sub edx, 0x4d63c77b
mov eax, 4
imul ecx, eax, 0x3e
mov dword [ecx + 0x491c38], edx
mov edx, 2
imul eax, edx, 0x994
movsx ecx, word [eax + 0x48fce0]
shl ecx, 7
imul edx, ecx, 0x9b6cd945
mov eax, 2
imul ecx, eax, 0x103
movsx eax, word [ecx + 0x48fce0]
xor edx, eax
cmp edx, 0xe7e4b35b
je 0x43b0dd
mov ecx, 4
imul edx, ecx, 0xa89
mov eax, 4
imul ecx, eax, 0x84f
mov eax, dword [ecx + 0x491c38]
and eax, 0xccfdba2c
mov ecx, dword [edx + 0x491c38]
xor ecx, eax
mov edx, 4
imul eax, edx, 0xa89
mov dword [eax + 0x491c38], ecx
push 0x118
push 0
lea ecx, [ebp - 0x140]
push ecx
call fcn.00464910
add esp, 0xc
mov edx, 4
imul eax, edx, 0xc4a
mov ecx, dword [eax + 0x491c38]
not ecx
mov edx, 4
imul eax, edx, 0x498
mov edx, dword [eax + 0x491c38]
and edx, 0xae3d7cb2
or ecx, edx
mov eax, 4
imul edx, eax, 0x8e1
mov dword [edx + 0x491c38], ecx
mov eax, 2
imul ecx, eax, 0xf52
movsx edx, word [ecx + 0x48fce0]
add edx, 0x338c2ca4
mov eax, 2
imul ecx, eax, 0xf52
mov word [ecx + 0x48fce0], dx
mov esp, ebp
pop ebp
ret