Function at 0x402b00
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x66c
mov eax, 2
imul ecx, eax, 0xed1
movsx edx, word [ecx + 0x48d720]
imul eax, edx, 0x164f916d
mov ecx, 2
imul edx, ecx, 0xed1
mov word [edx + 0x48d720], ax
mov ecx, dword [ebp + 8]
call fcn.0043c700
cmp eax, 0x8000
jbe 0x403710
mov eax, 2
imul ecx, eax, 0x4fa
mov dx, word [ecx + 0x48d720]
sub dx, 1
mov word [ebp - 4], dx
mov eax, 2
imul ecx, eax, 0x4fa
mov dx, word [ebp - 4]
mov word [ecx + 0x48d720], dx
movsx eax, word [ebp - 4]
imul ecx, eax, 0x41fc7ea
and ecx, 0xc5b05c4b
cmp ecx, 0x33835d74
jne 0x402bf4
mov edx, 4
imul eax, edx, 0xa3b
mov ecx, 2
imul edx, ecx, 0x552
movsx ecx, word [edx + 0x48d720]
mov edx, dword [eax + 0x48f518]
xor edx, ecx
or edx, 0x17a45f19
mov eax, 4
imul ecx, eax, 0xdac
mov dword [ecx + 0x48f518], edx
mov edx, 2
imul eax, edx, 0x552
mov cx, word [eax + 0x48d720]
add cx, 1
mov edx, 2
imul eax, edx, 0x552
mov word [eax + 0x48d720], cx
jmp 0x402c0b
mov ecx, 2
imul edx, ecx, 0x795
mov eax, 0x405
mov word [edx + 0x48d720], ax
mov ecx, 2
imul edx, ecx, 0xd83
mov eax, 4
imul ecx, eax, 0x37e
mov eax, dword [ecx + 0x48f518]
shl eax, 0xa
movsx ecx, word [edx + 0x48d720]
sub ecx, eax
mov edx, 2
imul eax, edx, 0xd83
mov word [eax + 0x48d720], cx
mov ecx, 2
imul edx, ecx, 0x6ba
movsx eax, word [edx + 0x48d720]
xor eax, 0x24d85371
cmp eax, 0x11a81240
je 0x402c8a
mov ecx, 4
imul edx, ecx, 0xbe6
mov eax, dword [edx + 0x48f518]
add eax, 0x1caed940
mov ecx, 4
imul edx, ecx, 0xbe6
mov dword [edx + 0x48f518], eax
mov eax, 4
imul ecx, eax, 0x1f3
mov edx, dword [ecx + 0x48f518]
add edx, 0xc9b3b25
mov eax, 4
imul ecx, eax, 0x1f3
mov dword [ecx + 0x48f518], edx
lea edx, [ebp - 0x160]
push edx
call fcn.0043e3a0
add esp, 4
mov dword [ebp - 0x48], eax
mov eax, 4
imul ecx, eax, 0x113
mov edx, dword [ecx + 0x48f518]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, 4
imul ecx, eax, 0x113
mov edx, dword [ebp - 0x20]
mov dword [ecx + 0x48f518], edx
mov eax, 4
imul ecx, eax, 0xccb
mov edx, dword [ecx + 0x48f518]
sar edx, 5
add edx, dword [ebp - 0x20]
mov eax, 2
imul ecx, eax, 0xe4a
movsx eax, word [ecx + 0x48d720]
xor edx, eax
mov dword [ebp - 0x34], edx
mov ecx, 2
imul edx, ecx, 0xe4a
mov ax, word [edx + 0x48d720]
sub ax, 1
mov ecx, 2
imul edx, ecx, 0xe4a
mov word [edx + 0x48d720], ax
cmp dword [ebp - 0x34], 0x930f0427
jge 0x402db8
mov eax, 4
imul ecx, eax, 0x9a4
mov edx, dword [ecx + 0x48f518]
add edx, 1
mov dword [ebp - 0x24], edx
mov eax, 4
imul ecx, eax, 0x9a4
mov edx, dword [ebp - 0x24]
mov dword [ecx + 0x48f518], edx
mov eax, dword [ebp - 0x24]
and eax, 0x9000959d
cmp eax, 0x32bf271
jne 0x402db8
mov ecx, 2
imul edx, ecx, 0x2f5
mov ax, word [edx + 0x48d720]
sub ax, 1
mov word [ebp - 8], ax
mov ecx, 2
imul edx, ecx, 0x2f5
mov ax, word [ebp - 8]
mov word [edx + 0x48d720], ax
call fcn.004564e0
movzx edx, al
and edx, 0x80000003
jns 0x402dcd
dec edx
or edx, 0xfffffffc
inc edx
add edx, 7
push edx
mov eax, dword [ebp - 0x48]
lea ecx, [ebp + eax - 0x160]
push ecx
call fcn.004135e0
add esp, 8
mov edx, 4
imul eax, edx, 0xb5c
mov ecx, dword [eax + 0x48f518]
xor ecx, 0x5b7460f8
cmp ecx, 0xd9f5043a
jge 0x402e2b
mov edx, 4
imul eax, edx, 0xaa2
mov ecx, dword [eax + 0x48f518]
sub ecx, 0x54fe57a4
mov edx, 4
imul eax, edx, 0xaa2
mov dword [eax + 0x48f518], ecx
push 5
push 0x1c98
call fcn.00458010
add esp, 8
mov dword [ebp - 0x2c], eax
mov ecx, 4
imul edx, ecx, 0xb54
mov eax, dword [edx + 0x48f518]
xor eax, 0x7b39391a
mov ecx, 4
imul edx, ecx, 0xb54
mov dword [edx + 0x48f518], eax
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.004633d0
add esp, 8
mov edx, 2
imul eax, edx, 0xc2c
mov cx, word [eax + 0x48d720]
sub cx, 1
mov word [ebp - 2], cx
mov edx, 2
imul eax, edx, 0xc2c
mov cx, word [ebp - 2]
mov word [eax + 0x48d720], cx
mov edx, 4
imul eax, edx, 0xc09
mov ecx, dword [eax + 0x48f518]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, 4
imul eax, edx, 0xc09
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 0x48f518], ecx
mov edx, dword [ebp - 0x1c]
and edx, 0x225af34f
xor edx, 0xde53001b
movsx eax, word [ebp - 2]
xor eax, 0x6f9a9d5e
cmp eax, edx
jle 0x402f75
mov ecx, 4
imul edx, ecx, 0xd2
mov eax, dword [edx + 0x48f518]
sar eax, 0xa
and eax, 0x3cae7b67
mov ecx, 4
imul edx, ecx, 0xbc1
and eax, dword [edx + 0x48f518]
mov dword [ebp - 0x40], eax
mov eax, 4
imul ecx, eax, 0xbc1
mov edx, dword [ecx + 0x48f518]
add edx, 1
mov eax, 4
imul ecx, eax, 0xbc1
mov dword [ecx + 0x48f518], edx
cmp dword [ebp - 0x40], 0xf3ef59f6
jg 0x402f75
mov edx, 4
imul eax, edx, 0x5cc
mov ecx, dword [eax + 0x48f518]
or ecx, 0x10098004
mov edx, 4
imul eax, edx, 0x5cc
mov dword [eax + 0x48f518], ecx
push 3
push 0x1e26
call fcn.00458010
add esp, 8
mov dword [ebp - 0x18], eax
mov ecx, 4
imul edx, ecx, 0x565
mov eax, 4
imul ecx, eax, 0x6f5
mov eax, dword [ecx + 0x48f518]
xor eax, 0x3bdfc398
mov ecx, dword [edx + 0x48f518]
or ecx, eax
mov edx, 4
imul eax, edx, 0x565
mov dword [eax + 0x48f518], ecx
mov ecx, dword [ebp - 0x2c]
push ecx
push 5
call fcn.0043d890
add esp, 8
mov edx, 2
imul eax, edx, 0x6c1
mov ecx, 0xffff93dd
mov word [eax + 0x48d720], cx
mov edx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x160]
push eax
call fcn.00464431
add esp, 8
mov dword [ebp - 0xc], eax
mov ecx, 4
imul edx, ecx, 0x589
mov eax, dword [edx + 0x48f518]
sub eax, 1
mov dword [ebp - 0x14], eax
mov ecx, 4
imul edx, ecx, 0x589
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x48f518], eax
mov ecx, 4
imul edx, ecx, 0xc90
mov eax, dword [edx + 0x48f518]
and eax, dword [ebp - 0x14]
mov ecx, 2
imul edx, ecx, 0xad2
movsx ecx, word [edx + 0x48d720]
sub ecx, eax
mov edx, 2
imul eax, edx, 0xad2
mov word [eax + 0x48d720], cx
mov ecx, dword [ebp - 0x18]
push ecx
push 3
call fcn.0043d890
add esp, 8
mov edx, 2
imul eax, edx, 0xd2f
movsx ecx, word [eax + 0x48d720]
or ecx, 0x315f54e8
mov edx, 2
imul eax, edx, 0xd2f
mov word [eax + 0x48d720], cx
cmp dword [ebp - 0xc], 0
je 0x403646
mov ecx, 4
imul edx, ecx, 0x755
mov eax, 4
imul ecx, eax, 0x119
mov eax, 4
imul eax, eax, 0x40c
mov eax, dword [eax + 0x48f518]
shl eax, 0xa
mov ecx, dword [ecx + 0x48f518]
xor ecx, eax
or ecx, 0x804ee72f
mov edx, dword [edx + 0x48f518]
imul edx, ecx
mov eax, 4
imul ecx, eax, 0x755
mov dword [ecx + 0x48f518], edx
mov edx, 4
imul eax, edx, 0xe57
mov dword [eax + 0x48f518], 0x39ce1628
mov ecx, dword [ebp - 0xc]
push ecx
push 1
mov ecx, dword [ebp + 8]
call fcn.0043c700
push eax
mov ecx, dword [ebp + 8]
call fcn.00421350
push eax
call fcn.004645e4
add esp, 0x10
mov edx, 2
imul eax, edx, 0x8d2
movsx ecx, word [eax + 0x48d720]
mov edx, 4
imul eax, edx, 0x49c
mov edx, dword [eax + 0x48f518]
sar edx, 2
and ecx, edx
mov eax, 4
imul edx, eax, 0xcf2
mov eax, dword [edx + 0x48f518]
or eax, 0x383b3b3f
cmp ecx, eax
jle 0x403195
mov ecx, 2
imul edx, ecx, 0xd04
movsx eax, word [edx + 0x48d720]
or eax, 0xc788af70
mov ecx, 2
imul edx, ecx, 0xd04
mov word [edx + 0x48d720], ax
mov eax, dword [ebp - 0xc]
push eax
call fcn.00464106
add esp, 4
mov ecx, 4
imul edx, ecx, 0x1d2
mov eax, dword [edx + 0x48f518]
sub eax, 0x7b27a8d6
mov ecx, 4
imul edx, ecx, 0x1d2
mov dword [edx + 0x48f518], eax
mov ecx, dword [ebp + 8]
call fcn.0045eff0
mov eax, 4
imul ecx, eax, 0xc6f
mov edx, 2
imul eax, edx, 0x2a7
movsx edx, word [eax + 0x48d720]
mov eax, 2
imul eax, eax, 0x5eb
movsx eax, word [eax + 0x48d720]
imul edx, eax
and edx, 0x178fb543
mov ecx, dword [ecx + 0x48f518]
or ecx, edx
mov edx, 4
imul eax, edx, 0xc6f
mov dword [eax + 0x48f518], ecx
mov ecx, 1
imul edx, ecx, 0x104
mov byte [ebp + edx - 0x268], 0
mov eax, 4
imul ecx, eax, 0xc5
mov edx, dword [ecx + 0x48f518]
and edx, 0xfdad85fe
mov eax, 4
imul ecx, eax, 0xc5
mov dword [ecx + 0x48f518], edx
push 0x104
lea edx, [ebp - 0x268]
push edx
push 0
call dword [0x48d638]
mov eax, 4
imul ecx, eax, 0xe99
mov edx, dword [ecx + 0x48f518]
sub edx, 0x1ddbfbd9
mov eax, 4
imul ecx, eax, 0xe99
mov dword [ecx + 0x48f518], edx
mov edx, 1
shl edx, 0xa
mov byte [ebp + edx - 0x66c], 0
mov eax, 4
imul ecx, eax, 0x55f
mov edx, dword [ecx + 0x48f518]
xor edx, 0x745c1d39
mov eax, 4
imul ecx, eax, 0x55f
mov dword [ecx + 0x48f518], edx
push 0x15
push 0x1780
call fcn.00458010
add esp, 8
mov dword [ebp - 0x10], eax
mov edx, 2
imul eax, edx, 0x833
mov ecx, 4
imul edx, ecx, 0x1da
mov ecx, dword [edx + 0x48f518]
and ecx, 0x22fef9f8
movsx edx, word [eax + 0x48d720]
sub edx, ecx
mov eax, 2
imul ecx, eax, 0x833
mov word [ecx + 0x48d720], dx
mov edx, dword [0x48d52c]
push edx
mov eax, dword [0x48d514]
push eax
lea ecx, [ebp - 0x268]
push ecx
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x66c]
push eax
call fcn.00464830
add esp, 0x14
mov ecx, 4
imul edx, ecx, 0x2ba
mov eax, dword [edx + 0x48f518]
and eax, 0x69ff3ffc
mov ecx, 4
imul edx, ecx, 0x2ba
mov dword [edx + 0x48f518], eax
mov eax, dword [ebp - 0x10]
push eax
push 0x15
call fcn.0043d890
add esp, 8
mov ecx, 2
imul edx, ecx, 0x84e
mov eax, 0xffffab87
mov word [edx + 0x48d720], ax
mov ecx, dword [0x48d52c]
push ecx
call fcn.0045e8a0
add esp, 4
mov edx, 4
imul eax, edx, 0xb9f
mov ecx, dword [eax + 0x48f518]
sub ecx, 0x4303fb9a
mov edx, 4
imul eax, edx, 0xb9f
mov dword [eax + 0x48f518], ecx
lea ecx, [ebp - 0x66c]
push ecx
lea edx, [ebp - 0x160]
push edx
call fcn.0045cbe0
add esp, 8
mov eax, 4
imul ecx, eax, 0x190
cmp dword [ecx + 0x48f518], 0xf75befff
jne 0x40341e
mov edx, 4
imul eax, edx, 0xd65
mov ecx, dword [eax + 0x48f518]
add ecx, 0x1fc80bde
mov edx, 4
imul eax, edx, 0xd65
mov dword [eax + 0x48f518], ecx
push 0x401
push 0
lea ecx, [ebp - 0x66c]
push ecx
call fcn.00463330
add esp, 0xc
mov edx, 4
imul eax, edx, 0x7a9
mov ecx, dword [eax + 0x48f518]
and ecx, 0xe1dca2ff
mov edx, 4
imul eax, edx, 0x7a9
mov dword [eax + 0x48f518], ecx
push 0x105
push 0
lea ecx, [ebp - 0x268]
push ecx
call fcn.00463330
add esp, 0xc
mov edx, 4
imul eax, edx, 0x4d8
mov ecx, 4
imul edx, ecx, 0x5aa
mov eax, dword [eax + 0x48f518]
imul eax, dword [edx + 0x48f518]
add eax, 0x2ff1e42c
mov dword [ebp - 0x44], eax
mov ecx, 4
imul edx, ecx, 0x4d8
mov eax, dword [edx + 0x48f518]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x4d8
mov dword [edx + 0x48f518], eax
cmp dword [ebp - 0x44], 0x4ef23b9d
jle 0x40353f
mov eax, 2
imul ecx, eax, 0xa36
mov dx, word [ecx + 0x48d720]
sub dx, 1
mov word [ebp - 6], dx
mov eax, 2
imul ecx, eax, 0xa36
mov dx, word [ebp - 6]
mov word [ecx + 0x48d720], dx
mov eax, 2
imul ecx, eax, 0xe00
movsx edx, word [ecx + 0x48d720]
movsx eax, word [ebp - 6]
xor eax, 0x9f4ff594
xor eax, edx
mov ecx, 2
imul edx, ecx, 0xa92
movsx ecx, word [edx + 0x48d720]
imul ecx, eax
mov edx, 2
imul eax, edx, 0xa92
mov word [eax + 0x48d720], cx
push 0x15f90
call dword [0x48d694]
mov ecx, 4
imul edx, ecx, 0xec1
mov eax, 2
imul ecx, eax, 0x88
movsx eax, word [ecx + 0x48d720]
mov ecx, dword [edx + 0x48f518]
or ecx, eax
mov edx, 4
imul eax, edx, 0xec1
mov dword [eax + 0x48f518], ecx
lea ecx, [ebp - 0x160]
push ecx
call dword [0x48d5dc]
mov edx, 4
imul eax, edx, 0x165
mov ecx, dword [eax + 0x48f518]
sub ecx, 1
mov dword [ebp - 0x28], ecx
mov edx, 4
imul eax, edx, 0x165
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0x48f518], ecx
mov edx, dword [ebp - 0x28]
or edx, 0x51129d27
mov eax, 2
imul ecx, eax, 0x194
movsx eax, word [ecx + 0x48d720]
imul ecx, eax, 0x8a2e9919
mov eax, 4
imul eax, eax, 0xba0
or ecx, dword [eax + 0x48f518]
cmp edx, ecx
jne 0x403646
mov ecx, 4
imul edx, ecx, 0xeee
mov eax, dword [edx + 0x48f518]
sub eax, 1
mov dword [ebp - 0x30], eax
mov ecx, 4
imul edx, ecx, 0xeee
mov eax, dword [ebp - 0x30]
mov dword [edx + 0x48f518], eax
mov ecx, dword [ebp - 0x30]
sub ecx, 0x3e840df8
mov edx, 4
imul eax, edx, 0x468
mov edx, dword [eax + 0x48f518]
and edx, ecx
mov eax, 4
imul ecx, eax, 0x468
mov dword [ecx + 0x48f518], edx
mov edx, 4
imul eax, edx, 0x571
mov ecx, 0x684c6b5f
sub ecx, dword [eax + 0x48f518]
mov dword [ebp - 0x38], ecx
mov edx, 4
imul eax, edx, 0x6d5
imul ecx, dword [eax + 0x48f518], 0xa9e7a3d5
imul edx, ecx, 0xa98ee1b9
mov dword [ebp - 0x3c], edx
mov eax, 4
imul ecx, eax, 0x571
mov edx, dword [ecx + 0x48f518]
add edx, 1
mov eax, 4
imul ecx, eax, 0x571
mov dword [ecx + 0x48f518], edx
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x3c]
jl 0x4036d0
mov eax, 4
imul ecx, eax, 0x295
imul edx, dword [ecx + 0x48f518], 0x813892ec
mov eax, 4
imul ecx, eax, 0x295
mov dword [ecx + 0x48f518], edx
push 0x118
push 0
lea edx, [ebp - 0x160]
push edx
call fcn.00463330
add esp, 0xc
mov eax, 2
imul ecx, eax, 0x659
movsx edx, word [ecx + 0x48d720]
or edx, 0xbbae0396
mov eax, 2
imul ecx, eax, 0x659
mov word [ecx + 0x48d720], dx
mov edx, 2
imul eax, edx, 0x36d
movsx ecx, word [eax + 0x48d720]
cmp ecx, 0xc1d6247
jl 0x403765
mov edx, 4
imul eax, edx, 0x251
mov ecx, 4
imul edx, ecx, 0xaaa
mov ecx, dword [edx + 0x48f518]
xor ecx, 0x84624021
mov edx, dword [eax + 0x48f518]
xor edx, ecx
mov eax, 4
imul ecx, eax, 0x251
mov dword [ecx + 0x48f518], edx
mov esp, ebp
pop ebp
ret