Function at 0x43b640
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x66c
mov eax, 2
imul ecx, eax, 0x34d1
movsx edx, word [ecx + 0x490a20]
imul eax, edx, 0x66afd7b3
mov ecx, 2
imul edx, ecx, 0x34d1
mov word [edx + 0x490a20], ax
mov ecx, dword [ebp + 8]
call fcn.0041b8b0
cmp eax, 0x8000
jbe 0x43c294
mov eax, 4
imul ecx, eax, 0x37a3
mov edx, dword [ecx + 0x497c50]
add edx, 0x71d3917f
mov eax, 4
imul ecx, eax, 0x37a3
mov dword [ecx + 0x497c50], edx
mov edx, 2
imul eax, edx, 0x28fb
movsx ecx, word [eax + 0x490a20]
add ecx, 0x4281d884
mov edx, 2
imul eax, edx, 0x28fb
mov word [eax + 0x490a20], cx
mov ecx, 4
imul edx, ecx, 0x2caf
mov eax, 4
imul ecx, eax, 0x28e4
mov eax, dword [ecx + 0x497c50]
shl eax, 1
mov ecx, dword [edx + 0x497c50]
imul ecx, eax
mov edx, 4
imul eax, edx, 0x2caf
mov dword [eax + 0x497c50], ecx
mov ecx, 4
imul edx, ecx, 0x5c5
mov eax, 4
imul ecx, eax, 0x203f
mov eax, dword [ecx + 0x497c50]
or eax, 0xd1fcddd5
mov ecx, dword [edx + 0x497c50]
add ecx, eax
mov edx, 4
imul eax, edx, 0x5c5
mov dword [eax + 0x497c50], ecx
lea ecx, [ebp - 0x160]
push ecx
call fcn.00428e40
add esp, 4
mov dword [ebp - 0x30], eax
mov edx, 2
imul eax, edx, 0x68e
mov ecx, 2
imul edx, ecx, 0xaf2
movsx ecx, word [edx + 0x490a20]
sub ecx, 0x1b9625b8
movsx edx, word [eax + 0x490a20]
or edx, ecx
mov eax, 2
imul ecx, eax, 0x68e
mov word [ecx + 0x490a20], dx
call fcn.004013a0
movzx edx, al
and edx, 0x80000003
jns 0x43b7af
dec edx
or edx, 0xfffffffc
inc edx
add edx, 7
push edx
mov eax, dword [ebp - 0x30]
lea ecx, [ebp + eax - 0x160]
push ecx
call fcn.0043c480
add esp, 8
mov edx, 4
imul eax, edx, 0x2556
mov ecx, dword [eax + 0x497c50]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, 4
imul eax, edx, 0x2556
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x497c50], ecx
imul edx, dword [ebp - 0x14], 0xa86d4942
imul eax, edx, 0x2928dd01
mov dword [ebp - 0x40], eax
mov ecx, 4
imul edx, ecx, 0xd23
imul eax, dword [edx + 0x497c50], 0xb847685c
xor eax, 0x623dbf6
mov dword [ebp - 0x24], eax
mov ecx, 4
imul edx, ecx, 0xd23
mov eax, dword [edx + 0x497c50]
add eax, 1
mov ecx, 4
imul edx, ecx, 0xd23
mov dword [edx + 0x497c50], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x24]
jne 0x43b8f8
mov ecx, 4
imul edx, ecx, 0x2cd6
mov eax, dword [edx + 0x497c50]
mov dword [ebp - 0x44], eax
mov ecx, 4
imul edx, ecx, 0x8a8
mov eax, dword [edx + 0x497c50]
mov dword [ebp - 0x38], eax
mov ecx, 4
imul edx, ecx, 0x8a8
mov eax, dword [edx + 0x497c50]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x8a8
mov dword [edx + 0x497c50], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x38]
jle 0x43b8e2
mov ecx, 2
imul edx, ecx, 0x15b4
mov eax, 4
imul ecx, eax, 0x20c6
mov eax, dword [ecx + 0x497c50]
add eax, 0x72f8d57c
movsx ecx, word [edx + 0x490a20]
xor ecx, eax
mov edx, 2
imul eax, edx, 0x15b4
mov word [eax + 0x490a20], cx
jmp 0x43b8f3
mov ecx, 4
imul edx, ecx, 0x2677
mov eax, dword [edx + 0x497c50]
jmp 0x43b9ec
mov ecx, 4
imul edx, ecx, 0x2093
mov eax, dword [edx + 0x497c50]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 4
imul edx, ecx, 0x2093
mov eax, dword [ebp - 0x1c]
mov dword [edx + 0x497c50], eax
imul ecx, dword [ebp - 0x1c], 0x829782a0
mov dword [ebp - 0x48], ecx
mov edx, 4
imul eax, edx, 0xfff
mov ecx, dword [eax + 0x497c50]
xor ecx, 0x46a8585f
mov edx, 4
imul eax, edx, 0x3644
mov edx, dword [eax + 0x497c50]
or edx, ecx
mov dword [ebp - 0x28], edx
mov eax, 4
imul ecx, eax, 0x3644
mov edx, dword [ecx + 0x497c50]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x3644
mov dword [ecx + 0x497c50], edx
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x28]
jge 0x43b9c6
mov eax, 2
imul ecx, eax, 0x28d8
mov edx, 4
imul eax, edx, 0x1802
mov edx, dword [eax + 0x497c50]
xor edx, 0xfb7e2551
movsx eax, word [ecx + 0x490a20]
add eax, edx
mov ecx, 2
imul edx, ecx, 0x28d8
mov word [edx + 0x490a20], ax
jmp 0x43b9ec
mov eax, 4
imul ecx, eax, 0x34b9
imul edx, dword [ecx + 0x497c50], 0xe6a10165
mov eax, 4
imul ecx, eax, 0x34b9
mov dword [ecx + 0x497c50], edx
push 5
push 0x35c4
call fcn.004465d0
add esp, 8
mov dword [ebp - 8], eax
mov edx, 2
imul eax, edx, 0x357
mov ecx, 4
imul edx, ecx, 0x1ca2
mov ecx, dword [edx + 0x497c50]
add ecx, 0xd960184
movsx edx, word [eax + 0x490a20]
imul edx, ecx
mov eax, 2
imul ecx, eax, 0x357
mov word [ecx + 0x490a20], dx
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x160]
push eax
call fcn.00465bc0
add esp, 8
mov ecx, 4
imul edx, ecx, 0x3b8
mov eax, dword [edx + 0x497c50]
and eax, 0x56f5d655
mov ecx, 4
imul edx, ecx, 0x3b8
mov dword [edx + 0x497c50], eax
push 3
push 0x10aa
call fcn.004465d0
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, 4
imul ecx, eax, 0x23d3
mov edx, 4
imul eax, edx, 0x1461
mov edx, dword [eax + 0x497c50]
sub edx, 0x6652c204
mov eax, 2
imul eax, eax, 0x24a2
movsx eax, word [eax + 0x490a20]
or edx, eax
mov ecx, dword [ecx + 0x497c50]
xor ecx, edx
mov edx, 4
imul eax, edx, 0x23d3
mov dword [eax + 0x497c50], ecx
mov ecx, dword [ebp - 8]
push ecx
push 5
call fcn.004479c0
add esp, 8
mov edx, 4
imul eax, edx, 0x3083
mov dword [eax + 0x497c50], 0x83482
mov ecx, dword [ebp - 0xc]
push ecx
lea edx, [ebp - 0x160]
push edx
call fcn.00466c21
add esp, 8
mov dword [ebp - 4], eax
mov eax, 2
imul ecx, eax, 0x2f67
movsx edx, word [ecx + 0x490a20]
and edx, 0xabaafeef
mov eax, 2
imul ecx, eax, 0x2f67
mov word [ecx + 0x490a20], dx
mov edx, dword [ebp - 0xc]
push edx
push 3
call fcn.004479c0
add esp, 8
mov eax, 4
imul ecx, eax, 0x151f
mov edx, dword [ecx + 0x497c50]
sub edx, 0x133118b1
xor edx, 0xa45c4ebb
cmp edx, 0xb85f8800
jg 0x43bc0a
mov eax, 4
imul ecx, eax, 0x383b
mov edx, dword [ecx + 0x497c50]
add edx, 0x25b1e4b0
mov dword [ebp - 0x2c], edx
mov eax, 4
imul ecx, eax, 0x383b
mov edx, dword [ecx + 0x497c50]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x383b
mov dword [ecx + 0x497c50], edx
cmp dword [ebp - 0x2c], 0x7f1e94ed
jle 0x43bbe3
mov edx, 4
imul eax, edx, 0x2d09
mov ecx, dword [eax + 0x497c50]
xor ecx, 0xb0cdaefb
mov edx, 4
imul eax, edx, 0x2d09
mov dword [eax + 0x497c50], ecx
jmp 0x43bc0a
mov ecx, 4
imul edx, ecx, 0x297
mov eax, dword [edx + 0x497c50]
sub eax, 0xb68bb70
mov ecx, 4
imul edx, ecx, 0x297
mov dword [edx + 0x497c50], eax
cmp dword [ebp - 4], 0
je 0x43c21e
mov eax, 2
imul ecx, eax, 0x1470
mov edx, 4
imul eax, edx, 0x3386
mov edx, dword [eax + 0x497c50]
xor edx, 0xbd5b41ab
mov eax, 4
imul eax, eax, 0x1ced
or edx, dword [eax + 0x497c50]
movsx ecx, word [ecx + 0x490a20]
add ecx, edx
mov edx, 2
imul eax, edx, 0x1470
mov word [eax + 0x490a20], cx
mov ecx, 4
imul edx, ecx, 0x3386
mov eax, dword [edx + 0x497c50]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x3386
mov dword [edx + 0x497c50], eax
mov eax, 4
imul ecx, eax, 0x230b
mov edx, dword [ecx + 0x497c50]
sub edx, 0x55024c0f
and edx, 0xcf34fe9
mov dword [ebp - 0x34], edx
mov eax, 4
imul ecx, eax, 0x230b
mov edx, dword [ecx + 0x497c50]
add edx, 1
mov eax, 4
imul ecx, eax, 0x230b
mov dword [ecx + 0x497c50], edx
cmp dword [ebp - 0x34], 0xb6a99ef8
jg 0x43bcfd
mov edx, 4
imul eax, edx, 0x458
mov ecx, dword [eax + 0x497c50]
sub ecx, 0x60119d00
mov edx, 4
imul eax, edx, 0x458
mov dword [eax + 0x497c50], ecx
mov ecx, dword [ebp - 4]
push ecx
push 1
mov ecx, dword [ebp + 8]
call fcn.0041b8b0
push eax
mov ecx, dword [ebp + 8]
call fcn.00459a40
push eax
call fcn.00466dd4
add esp, 0x10
mov edx, 2
imul eax, edx, 0x2b99
movsx ecx, word [eax + 0x490a20]
imul edx, ecx, 0xfffed7e0
mov eax, 2
imul ecx, eax, 0x2b99
mov word [ecx + 0x490a20], dx
mov edx, dword [ebp - 4]
push edx
call fcn.004668f6
add esp, 4
mov eax, 4
imul ecx, eax, 0x30d0
mov edx, dword [ecx + 0x497c50]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0x30d0
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x497c50], edx
mov eax, 4
imul ecx, eax, 0x372
mov edx, dword [ecx + 0x497c50]
add edx, 0x3bfaf934
and edx, dword [ebp - 0x10]
mov eax, 2
imul ecx, eax, 0x26a4
mov word [ecx + 0x490a20], dx
mov ecx, dword [ebp + 8]
call fcn.0040dea0
mov edx, 4
imul eax, edx, 0x9fa
mov ecx, 4
imul edx, ecx, 0x2db6
imul ecx, dword [edx + 0x497c50], 0xe83181f0
mov edx, 0xf3bd97ef
sub edx, ecx
cmp dword [eax + 0x497c50], edx
je 0x43be0b
mov eax, 4
imul ecx, eax, 0xb54
mov edx, dword [ecx + 0x497c50]
or edx, 0x4269abfd
mov eax, 4
imul ecx, eax, 0xb54
mov dword [ecx + 0x497c50], edx
jmp 0x43be33
mov edx, 4
imul eax, edx, 0x2e87
mov ecx, dword [eax + 0x497c50]
add ecx, 0x40211d49
mov edx, 4
imul eax, edx, 0x2e87
mov dword [eax + 0x497c50], ecx
mov ecx, 1
imul edx, ecx, 0x104
mov byte [ebp + edx - 0x268], 0
mov eax, 4
imul ecx, eax, 0x14d
mov edx, dword [ecx + 0x497c50]
sub edx, 1
mov dword [ebp - 0x18], edx
mov eax, 4
imul ecx, eax, 0x14d
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x497c50], edx
mov eax, dword [ebp - 0x18]
xor eax, 0x6ef0de12
cmp eax, 0x9daeff40
je 0x43bea7
mov ecx, 4
imul edx, ecx, 0xfda
mov eax, dword [edx + 0x497c50]
sub eax, 0x331a7643
mov ecx, 4
imul edx, ecx, 0xfda
mov dword [edx + 0x497c50], eax
push 0x104
lea eax, [ebp - 0x268]
push eax
push 0
call dword [0x490938]
mov ecx, 4
imul edx, ecx, 0x17b1
mov eax, 4
imul ecx, eax, 0x29fc
imul eax, dword [ecx + 0x497c50], 0x8317912d
mov ecx, dword [edx + 0x497c50]
and ecx, eax
mov edx, 4
imul eax, edx, 0x17b1
mov dword [eax + 0x497c50], ecx
mov ecx, 1
shl ecx, 0xa
mov byte [ebp + ecx - 0x66c], 0
mov edx, 4
imul eax, edx, 0x90a
mov ecx, dword [eax + 0x497c50]
sub ecx, 0x65ecdb48
mov edx, 4
imul eax, edx, 0x90a
mov dword [eax + 0x497c50], ecx
push 0x15
push 0x1b5b
call fcn.004465d0
add esp, 8
mov dword [ebp - 0x20], eax
mov ecx, 4
imul edx, ecx, 0x3871
mov eax, 4
imul ecx, eax, 0x3126
mov edx, dword [edx + 0x497c50]
xor edx, dword [ecx + 0x497c50]
cmp edx, 0xcba6fbd3
jge 0x43bf90
mov eax, 4
imul ecx, eax, 0x25e3
mov edx, dword [ecx + 0x497c50]
xor edx, 0x2ab96ba1
mov eax, 4
imul ecx, eax, 0x25e3
mov dword [ecx + 0x497c50], edx
mov edx, dword [0x49082c]
push edx
mov eax, dword [0x490814]
push eax
lea ecx, [ebp - 0x268]
push ecx
mov edx, dword [ebp - 0x20]
push edx
lea eax, [ebp - 0x66c]
push eax
call fcn.00467020
add esp, 0x14
mov ecx, 4
imul edx, ecx, 0x1977
mov eax, 4
imul ecx, eax, 0x2575
mov eax, dword [ecx + 0x497c50]
shl eax, 0xa
sub eax, 0x236fcdac
xor eax, 0xa2beaacf
mov ecx, dword [edx + 0x497c50]
imul ecx, eax
mov edx, 4
imul eax, edx, 0x1977
mov dword [eax + 0x497c50], ecx
mov ecx, dword [ebp - 0x20]
push ecx
push 0x15
call fcn.004479c0
add esp, 8
mov edx, 4
imul eax, edx, 0x2e1
mov ecx, dword [eax + 0x497c50]
xor ecx, 0x52ae838
mov edx, 4
imul eax, edx, 0x2e1
mov dword [eax + 0x497c50], ecx
mov ecx, dword [0x49082c]
push ecx
call fcn.00449dc0
add esp, 4
mov edx, 4
imul eax, edx, 0x1cb1
mov ecx, dword [eax + 0x497c50]
sub ecx, 0x6ccf7076
mov edx, 4
imul eax, edx, 0x1cb1
mov dword [eax + 0x497c50], ecx
lea ecx, [ebp - 0x66c]
push ecx
lea edx, [ebp - 0x160]
push edx
call fcn.0041fde0
add esp, 8
mov eax, 4
imul ecx, eax, 0x23d3
mov edx, 4
imul eax, edx, 0x1fb
mov ecx, dword [ecx + 0x497c50]
add ecx, dword [eax + 0x497c50]
cmp ecx, 0xd8ed7e57
jl 0x43c0d1
mov edx, 2
imul eax, edx, 0x15be
movsx ecx, word [eax + 0x490a20]
and ecx, 0x56b5f80e
mov edx, 2
imul eax, edx, 0x15be
mov word [eax + 0x490a20], cx
push 0x401
push 0
lea ecx, [ebp - 0x66c]
push ecx
call fcn.00465b20
add esp, 0xc
mov edx, 2
imul eax, edx, 0x4fc
mov ecx, 4
imul edx, ecx, 0xa65
mov ecx, dword [edx + 0x497c50]
not ecx
movsx edx, word [eax + 0x490a20]
and edx, ecx
mov eax, 2
imul ecx, eax, 0x4fc
mov word [ecx + 0x490a20], dx
push 0x105
push 0
lea edx, [ebp - 0x268]
push edx
call fcn.00465b20
add esp, 0xc
mov eax, 4
imul ecx, eax, 0x1637
mov edx, dword [ecx + 0x497c50]
mov dword [ebp - 0x3c], edx
mov eax, 4
imul ecx, eax, 0x1637
mov edx, dword [ecx + 0x497c50]
add edx, 1
mov eax, 4
imul ecx, eax, 0x1637
mov dword [ecx + 0x497c50], edx
cmp dword [ebp - 0x3c], 0xff3ebdff
je 0x43c1a0
mov edx, 4
imul eax, edx, 0x1ae2
mov ecx, dword [eax + 0x497c50]
add ecx, 0x7ea851b
mov edx, 4
imul eax, edx, 0x1ae2
mov dword [eax + 0x497c50], ecx
push 0x15f90
call dword [0x490994]
mov ecx, 4
imul edx, ecx, 0x291f
mov eax, dword [edx + 0x497c50]
and eax, 0x9452aac2
mov ecx, 4
imul edx, ecx, 0x291f
mov dword [edx + 0x497c50], eax
lea eax, [ebp - 0x160]
push eax
call dword [0x4908dc]
mov ecx, 4
imul edx, ecx, 0x24e6
mov eax, 4
imul ecx, eax, 0x1927
imul eax, dword [ecx + 0x497c50], 0xc2862e1
imul ecx, eax, 0xf1877106
mov edx, dword [edx + 0x497c50]
xor edx, ecx
mov eax, 4
imul ecx, eax, 0x24e6
mov dword [ecx + 0x497c50], edx
mov edx, 4
imul eax, edx, 0x4b5
mov ecx, dword [eax + 0x497c50]
and ecx, 0x99eca7dc
mov edx, 4
imul eax, edx, 0x4b5
mov dword [eax + 0x497c50], ecx
push 0x118
push 0
lea ecx, [ebp - 0x160]
push ecx
call fcn.00465b20
add esp, 0xc
mov edx, 4
imul eax, edx, 0xf66
mov ecx, 2
imul edx, ecx, 0x1919
movsx ecx, word [edx + 0x490a20]
not ecx
mov edx, dword [eax + 0x497c50]
or edx, ecx
mov eax, 4
imul ecx, eax, 0xf66
mov dword [ecx + 0x497c50], edx
mov edx, 4
imul eax, edx, 0x331f
mov ecx, dword [eax + 0x497c50]
or ecx, 0x21395f9c
mov edx, 4
imul eax, edx, 0x331f
mov dword [eax + 0x497c50], ecx
mov esp, ebp
pop ebp
ret