Function at 0x43c460
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x650
push esi
mov eax, 4
imul ecx, eax, 0x2b8
mov edx, dword [ecx + 0x490b10]
or edx, 0x28a9abb3
mov eax, 4
imul ecx, eax, 0x2b8
mov dword [ecx + 0x490b10], edx
mov ecx, dword [ebp + 8]
call fcn.00401c30
cmp eax, 0x8000
jbe 0x43d0da
mov edx, 4
imul eax, edx, 0x3b3
mov ecx, 4
imul edx, ecx, 0xab
mov ecx, 0xa0a1ea58
sub ecx, dword [edx + 0x490b10]
mov edx, dword [eax + 0x490b10]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0x3b3
mov dword [ecx + 0x490b10], edx
mov edx, 2
imul eax, edx, 0x11b
movsx ecx, word [eax + 0x48f8e0]
mov edx, 4
imul eax, edx, 0x1f2
add ecx, dword [eax + 0x490b10]
cmp ecx, 0x96550148
jg 0x43c569
mov ecx, 4
imul edx, ecx, 0x62c
mov eax, 4
imul ecx, eax, 0x19e
mov eax, dword [ecx + 0x490b10]
or eax, 0x7159a631
mov ecx, dword [edx + 0x490b10]
add ecx, eax
mov edx, 4
imul eax, edx, 0x62c
mov dword [eax + 0x490b10], ecx
mov ecx, 4
imul edx, ecx, 0x19e
mov eax, dword [edx + 0x490b10]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x19e
mov dword [edx + 0x490b10], eax
mov eax, 4
imul ecx, eax, 0x4c9
mov edx, 2
imul eax, edx, 0x6e7
movsx edx, word [eax + 0x48f8e0]
mov eax, 4
imul eax, eax, 0x317
mov eax, dword [eax + 0x490b10]
sar eax, 2
add edx, eax
xor edx, 0x8de06a5e
mov ecx, dword [ecx + 0x490b10]
and ecx, edx
mov edx, 4
imul eax, edx, 0x4c9
mov dword [eax + 0x490b10], ecx
mov ecx, 2
imul edx, ecx, 0x6e7
mov ax, word [edx + 0x48f8e0]
add ax, 1
mov ecx, 2
imul edx, ecx, 0x6e7
mov word [edx + 0x48f8e0], ax
mov eax, 2
imul ecx, eax, 0xb2
mov edx, 2
imul eax, edx, 0x2e4
movsx edx, word [eax + 0x48f8e0]
shl edx, 7
xor edx, 0xa0000429
movsx eax, word [ecx + 0x48f8e0]
xor eax, edx
mov ecx, 2
imul edx, ecx, 0xb2
mov word [edx + 0x48f8e0], ax
lea eax, [ebp - 0x144]
push eax
call fcn.00413430
add esp, 4
mov dword [ebp - 0x1c], eax
mov ecx, 2
imul edx, ecx, 0x391
mov eax, 2
imul ecx, eax, 0x808
movsx eax, word [ecx + 0x48f8e0]
mov ecx, 4
imul ecx, ecx, 0x789
mov ecx, dword [ecx + 0x490b10]
and ecx, 0x8f68fc6e
xor eax, ecx
movsx edx, word [edx + 0x48f8e0]
or edx, eax
mov eax, 2
imul ecx, eax, 0x391
mov word [ecx + 0x48f8e0], dx
mov edx, 4
imul eax, edx, 0x789
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x789
mov dword [eax + 0x490b10], ecx
mov ecx, 2
imul edx, ecx, 0x808
mov ax, word [edx + 0x48f8e0]
add ax, 1
mov ecx, 2
imul edx, ecx, 0x808
mov word [edx + 0x48f8e0], ax
call fcn.004576b0
movzx eax, al
and eax, 0x80000003
jns 0x43c6e8
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp + ecx - 0x144]
push edx
call fcn.00457150
add esp, 8
mov eax, 2
imul ecx, eax, 0x1db
movsx edx, word [ecx + 0x48f8e0]
xor edx, 0x151d8259
mov eax, 2
imul ecx, eax, 0x1db
mov word [ecx + 0x48f8e0], dx
push 5
push 0x1288
call fcn.004199d0
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, 4
imul eax, edx, 0x32c
imul ecx, dword [eax + 0x490b10], 0xa16c1c7f
mov edx, 4
imul eax, edx, 0x32c
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x144]
push edx
call fcn.00465210
add esp, 8
mov eax, 4
imul ecx, eax, 0x3fa
mov edx, dword [ecx + 0x490b10]
shl edx, 0xa
cmp edx, 0x4610bd8
je 0x43c7d7
mov eax, 4
imul ecx, eax, 0x22c
mov edx, 4
imul eax, edx, 0x47a
mov ecx, dword [ecx + 0x490b10]
mov dword [eax + 0x490b10], ecx
mov edx, 4
imul eax, edx, 0x22c
mov ecx, dword [eax + 0x490b10]
add ecx, 1
mov edx, 4
imul eax, edx, 0x22c
mov dword [eax + 0x490b10], ecx
push 3
push 0x1dde
call fcn.004199d0
add esp, 8
mov dword [ebp - 8], eax
mov ecx, 4
imul edx, ecx, 0x36e
imul eax, dword [edx + 0x490b10], 0xf00a44e6
mov ecx, 4
imul edx, ecx, 0x2b8
or eax, dword [edx + 0x490b10]
mov ecx, 4
imul edx, ecx, 0x194
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp - 0x14]
push eax
push 5
call fcn.00439550
add esp, 8
mov ecx, 4
imul edx, ecx, 0x235
mov eax, dword [edx + 0x490b10]
and eax, 0xbae02a0e
mov ecx, 4
imul edx, ecx, 0x235
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x144]
push ecx
call fcn.00466271
add esp, 8
mov dword [ebp - 4], eax
mov edx, 4
imul eax, edx, 0x69f
mov ecx, 4
imul edx, ecx, 0x2cf
mov ecx, dword [edx + 0x490b10]
sar ecx, 0xa
or ecx, 0x224a344c
mov edx, dword [eax + 0x490b10]
add edx, ecx
mov eax, 4
imul ecx, eax, 0x69f
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp - 8]
push edx
push 3
call fcn.00439550
add esp, 8
mov eax, 4
imul ecx, eax, 0x83f
mov edx, 4
imul eax, edx, 0x8b7
mov edx, 2
imul edx, edx, 0x2a1
movsx edx, word [edx + 0x48f8e0]
mov esi, 4
imul esi, esi, 0x5d4
mov esi, dword [esi + 0x490b10]
not esi
sub edx, esi
mov eax, dword [eax + 0x490b10]
and eax, edx
mov ecx, dword [ecx + 0x490b10]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x83f
mov dword [eax + 0x490b10], ecx
cmp dword [ebp - 4], 0
je 0x43cf88
mov ecx, 4
imul edx, ecx, 0x6c5
mov eax, 4
imul ecx, eax, 0x5b3
mov eax, dword [ecx + 0x490b10]
shl eax, 4
mov ecx, dword [edx + 0x490b10]
sub ecx, eax
mov edx, 4
imul eax, edx, 0x6c5
mov dword [eax + 0x490b10], ecx
mov ecx, 2
imul edx, ecx, 0x78e
movsx eax, word [edx + 0x48f8e0]
imul ecx, eax, 0x7f92eb1f
mov edx, 2
imul eax, edx, 0x78e
mov word [eax + 0x48f8e0], cx
mov ecx, dword [ebp - 4]
push ecx
push 1
mov ecx, dword [ebp + 8]
call fcn.00401c30
push eax
mov ecx, dword [ebp + 8]
call fcn.0040a330
push eax
call fcn.00466424
add esp, 0x10
mov edx, 4
imul eax, edx, 0x63
mov ecx, 4
imul edx, ecx, 0x65a
mov ecx, dword [edx + 0x490b10]
and ecx, 0x4a28178d
xor ecx, 0xe1253017
mov edx, dword [eax + 0x490b10]
xor edx, ecx
mov eax, 4
imul ecx, eax, 0x63
mov dword [ecx + 0x490b10], edx
mov edx, 4
imul eax, edx, 0x65a
mov ecx, dword [eax + 0x490b10]
add ecx, 1
mov edx, 4
imul eax, edx, 0x65a
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 4]
push ecx
call fcn.00465f46
add esp, 4
mov edx, 4
imul eax, edx, 0x2bf
imul ecx, dword [eax + 0x490b10], 0xffe6f74b
mov edx, 4
imul eax, edx, 0x2bf
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 8]
call fcn.0043f300
mov ecx, 4
imul edx, ecx, 0x85
mov eax, 4
imul ecx, eax, 0x1a0
mov eax, 0xa290be2a
sub eax, dword [ecx + 0x490b10]
mov ecx, dword [edx + 0x490b10]
sub ecx, eax
mov edx, 4
imul eax, edx, 0x85
mov dword [eax + 0x490b10], ecx
mov ecx, 1
imul edx, ecx, 0x104
mov byte [ebp + edx - 0x24c], 0
mov eax, 2
imul ecx, eax, 0x393
mov edx, 0x6955
mov word [ecx + 0x48f8e0], dx
push 0x104
lea eax, [ebp - 0x24c]
push eax
push 0
call dword [0x48f7f8]
mov ecx, 4
imul edx, ecx, 0x58
mov eax, dword [edx + 0x490b10]
add eax, 0x5b39eacd
mov ecx, 4
imul edx, ecx, 0x58
mov dword [edx + 0x490b10], eax
mov eax, 1
shl eax, 0xa
mov byte [ebp + eax - 0x650], 0
mov ecx, 4
imul edx, ecx, 0x77f
mov eax, 4
imul ecx, eax, 0x5e4
mov eax, 2
imul eax, eax, 0x102
movsx eax, word [eax + 0x48f8e0]
mov ecx, dword [ecx + 0x490b10]
add ecx, eax
and ecx, 0xe6979e97
mov edx, dword [edx + 0x490b10]
xor edx, ecx
mov eax, 4
imul ecx, eax, 0x77f
mov dword [ecx + 0x490b10], edx
push 0x15
push 0x3f5
call fcn.004199d0
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, 4
imul eax, edx, 0x2ee
mov ecx, 2
imul edx, ecx, 0x8dc
movsx ecx, word [edx + 0x48f8e0]
mov edx, dword [eax + 0x490b10]
imul edx, ecx
add edx, 0x3f645adf
mov dword [ebp - 0x24], edx
mov eax, 2
imul ecx, eax, 0x8dc
mov dx, word [ecx + 0x48f8e0]
add dx, 1
mov eax, 2
imul ecx, eax, 0x8dc
mov word [ecx + 0x48f8e0], dx
cmp dword [ebp - 0x24], 0x3d0b8c04
je 0x43cbe2
mov edx, 4
imul eax, edx, 0x56a
mov ecx, 4
imul edx, ecx, 0x140
mov ecx, dword [edx + 0x490b10]
xor ecx, 0x4107302a
mov edx, dword [eax + 0x490b10]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0x56a
mov dword [ecx + 0x490b10], edx
jmp 0x43cc24
mov edx, 4
imul eax, edx, 0x82d
mov ecx, 2
imul edx, ecx, 0x286
movsx ecx, word [edx + 0x48f8e0]
add ecx, 0x3c54b3f0
xor ecx, 0x8092781b
mov edx, dword [eax + 0x490b10]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0x82d
mov dword [ecx + 0x490b10], edx
mov edx, dword [0x48f6ec]
push edx
mov eax, dword [0x48f6d4]
push eax
lea ecx, [ebp - 0x24c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
lea eax, [ebp - 0x650]
push eax
call fcn.00466670
add esp, 0x14
mov ecx, 4
imul edx, ecx, 0x1b1
mov eax, dword [edx + 0x490b10]
or eax, 0xe1baba58
mov ecx, 4
imul edx, ecx, 0x1b1
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp - 0xc]
push eax
push 0x15
call fcn.00439550
add esp, 8
mov ecx, 2
imul edx, ecx, 0x274
movsx eax, word [edx + 0x48f8e0]
or eax, 0xd95deefe
mov ecx, 2
imul edx, ecx, 0x274
mov word [edx + 0x48f8e0], ax
mov eax, dword [0x48f6ec]
push eax
call fcn.00413a10
add esp, 4
mov ecx, 4
imul edx, ecx, 0x8f3
mov eax, dword [edx + 0x490b10]
xor eax, 0x674b2dde
cmp eax, 0xa7b0e414
jge 0x43cd4a
mov ecx, 4
imul edx, ecx, 0x45d
mov eax, dword [edx + 0x490b10]
sub eax, 0x97c32d3
or eax, 0xe0db1c55
mov dword [ebp - 0x28], eax
mov ecx, 4
imul edx, ecx, 0x45d
mov eax, dword [edx + 0x490b10]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x45d
mov dword [edx + 0x490b10], eax
cmp dword [ebp - 0x28], 0x67dfdf77
je 0x43cd48
mov eax, 4
imul ecx, eax, 0x537
mov edx, dword [ecx + 0x490b10]
sub edx, 0x495c8995
mov eax, 4
imul ecx, eax, 0x537
mov dword [ecx + 0x490b10], edx
jmp 0x43cd86
mov edx, 4
imul eax, edx, 0x5e6
mov ecx, 2
imul edx, ecx, 0x299
movsx ecx, word [edx + 0x48f8e0]
add ecx, 0x1055fab
mov edx, dword [eax + 0x490b10]
add edx, ecx
mov eax, 4
imul ecx, eax, 0x5e6
mov dword [ecx + 0x490b10], edx
lea edx, [ebp - 0x650]
push edx
lea eax, [ebp - 0x144]
push eax
call fcn.004595d0
add esp, 8
mov ecx, 4
imul edx, ecx, 0x1dd
mov eax, 4
imul ecx, eax, 0x4b6
mov eax, dword [ecx + 0x490b10]
add eax, 0x561ac350
mov ecx, dword [edx + 0x490b10]
or ecx, eax
mov edx, 4
imul eax, edx, 0x1dd
mov dword [eax + 0x490b10], ecx
push 0x401
push 0
lea ecx, [ebp - 0x650]
push ecx
call fcn.00465170
add esp, 0xc
mov edx, 4
imul eax, edx, 0x25a
mov ecx, dword [eax + 0x490b10]
xor ecx, 0xca3c837b
cmp ecx, 0xfe261da0
je 0x43ce37
mov edx, 2
imul eax, edx, 0x155
movsx ecx, word [eax + 0x48f8e0]
and ecx, 0x1e9df841
mov edx, 2
imul eax, edx, 0x155
mov word [eax + 0x48f8e0], cx
jmp 0x43ce5e
mov ecx, 4
imul edx, ecx, 0x5f9
mov eax, dword [edx + 0x490b10]
and eax, 0x5ffffffc
mov ecx, 4
imul edx, ecx, 0x5f9
mov dword [edx + 0x490b10], eax
push 0x105
push 0
lea eax, [ebp - 0x24c]
push eax
call fcn.00465170
add esp, 0xc
mov ecx, 4
imul edx, ecx, 0x779
mov eax, dword [edx + 0x490b10]
and eax, 0xa037131e
mov ecx, 4
imul edx, ecx, 0x779
mov dword [edx + 0x490b10], eax
push 0x15f90
call dword [0x48f854]
mov eax, 4
imul ecx, eax, 0xd5
mov edx, 4
imul eax, edx, 0xb9
mov edx, dword [eax + 0x490b10]
shl edx, 2
and edx, 0x17293b88
mov eax, dword [ecx + 0x490b10]
imul eax, edx
mov ecx, 4
imul edx, ecx, 0xd5
mov dword [edx + 0x490b10], eax
lea eax, [ebp - 0x144]
push eax
call dword [0x48f79c]
mov ecx, 4
imul edx, ecx, 0x590
mov eax, dword [edx + 0x490b10]
sub eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0x590
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x490b10], eax
mov ecx, 2
imul edx, ecx, 0x33b
movsx eax, word [edx + 0x48f8e0]
xor eax, dword [ebp - 0x10]
cmp eax, 0xb4c0f420
jg 0x43cf88
mov ecx, 4
imul edx, ecx, 0x610
mov eax, dword [edx + 0x490b10]
add eax, 1
mov dword [ebp - 0x18], eax
mov ecx, 4
imul edx, ecx, 0x610
mov eax, dword [ebp - 0x18]
mov dword [edx + 0x490b10], eax
imul ecx, dword [ebp - 0x18], 0x92188de4
cmp ecx, 0xd2c583a2
jl 0x43cf88
mov edx, 4
imul eax, edx, 0x829
cmp dword [eax + 0x490b10], 0x2fb0749f
mov ecx, 4
imul edx, ecx, 0x63b
mov eax, dword [edx + 0x490b10]
not eax
and eax, 0x1d6ca627
xor eax, 0xab75dc3a
cmp eax, 0xa80a1391
je 0x43cfea
mov ecx, 4
imul edx, ecx, 0x3b6
mov eax, 4
imul ecx, eax, 0x882
mov eax, dword [ecx + 0x490b10]
lea ecx, [eax + eax - 0x68f3bf0a]
mov edx, dword [edx + 0x490b10]
and edx, ecx
mov eax, 4
imul ecx, eax, 0x3b6
mov dword [ecx + 0x490b10], edx
jmp 0x43d012
mov edx, 4
imul eax, edx, 0x80d
mov ecx, dword [eax + 0x490b10]
add ecx, 0x4888caba
mov edx, 4
imul eax, edx, 0x80d
mov dword [eax + 0x490b10], ecx
push 0x118
push 0
lea ecx, [ebp - 0x144]
push ecx
call fcn.00465170
add esp, 0xc
mov edx, 4
imul eax, edx, 0x428
mov ecx, 4
imul edx, ecx, 0x1a4
mov ecx, dword [edx + 0x490b10]
not ecx
mov edx, 0x404434
sub edx, ecx
mov eax, dword [eax + 0x490b10]
xor eax, edx
mov dword [ebp - 0x2c], eax
mov ecx, 2
imul edx, ecx, 0x732
movsx eax, word [edx + 0x48f8e0]
sub eax, 0x6e10d894
mov ecx, 4
imul edx, ecx, 0x6e3
mov ecx, dword [edx + 0x490b10]
or ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, 4
imul eax, edx, 0x6e3
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x6e3
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x20]
jl 0x43d0da
mov edx, 4
imul eax, edx, 0x74f
mov ecx, dword [eax + 0x490b10]
add ecx, 0x3c23a4c
mov edx, 4
imul eax, edx, 0x74f
mov dword [eax + 0x490b10], ecx
mov ecx, 4
imul edx, ecx, 0x745
mov eax, dword [edx + 0x490b10]
not eax
or eax, 0xee34f6d7
cmp eax, 0x3ffbeff7
jne 0x43d120
mov ecx, 4
imul edx, ecx, 0x808
mov eax, dword [edx + 0x490b10]
sub eax, 0xef04cc1
mov ecx, 4
imul edx, ecx, 0x808
mov dword [edx + 0x490b10], eax
pop esi
mov esp, ebp
pop ebp
ret