Function at 0x42c0c0
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x750
mov eax, dword [esp + 0x75c]
mov dword [esp + 0x74c], eax
mov eax, dword [0x49f060]
or eax, 0x7151e197
mov dword [0x49f060], eax
mov eax, dword [esp + 0x74c]
mov ecx, eax
call fcn.00428510
cmp eax, 0x8044
jbe 0x42c96f
mov eax, 0xb519952b
mov cx, word [0x4a4c2c]
movsx edx, cx
cmp eax, edx
jg 0x42c13f
mov eax, 0x5d452706
mov ecx, dword [0x49f9d8]
sar ecx, 0xa
cmp eax, ecx
jle 0x42c13a
mov eax, dword [0x49eff8]
add eax, 0x751e9bcf
mov dword [0x49eff8], eax
jmp 0x42c151
mov eax, dword [0x4a0c64]
mov ecx, 0x47c8b69d
sub ecx, eax
mov dword [0x49fb48], ecx
mov eax, 0x5e83a513
mov ecx, dword [0x49f094]
mov edx, 0x566e45b1
sub edx, ecx
xor edx, 0xdf952aa2
mov ecx, dword [0x497fa4]
and ecx, edx
mov dword [0x497fa4], ecx
mov ecx, dword [0x498114]
mov edx, ecx
inc edx
mov dword [0x498114], edx
mov si, word [0x4a496a]
movsx edx, si
or ecx, edx
or ecx, 0xc85b99dc
cmp eax, ecx
je 0x42c1b8
mov ax, word [0x4a6d62]
mov cx, ax
and ecx, 0xf353
mov ax, cx
mov word [0x4a6d62], ax
mov eax, 0xc197373c
mov ecx, dword [0x49a6c8]
inc ecx
mov dword [0x49a6c8], ecx
cmp eax, ecx
jle 0x42c21b
mov eax, 0x31ebb861
mov ecx, dword [0x49cc80]
sar ecx, 8
add ecx, 0xc8c1ed61
mov edx, dword [0x49c4c0]
mov esi, edx
dec esi
mov dword [0x49c4c0], esi
sub ecx, edx
cmp eax, ecx
jge 0x42c216
mov eax, dword [0x4a0798]
mov ecx, dword [0x49ef00]
xor eax, ecx
or eax, 0xc86db86b
mov dword [0x49d210], eax
jmp 0x42c21b
mov eax, esp
lea ecx, [esp + 0x5e0]
mov dword [eax], ecx
call fcn.00425ed0
mov dword [esp + 0x5dc], eax
mov eax, dword [0x4985d8]
mov ecx, eax
inc ecx
mov dword [0x4985d8], ecx
mov ecx, dword [0x499b04]
or eax, ecx
mov dx, word [0x4a77e8]
movsx ecx, dx
add ecx, 0xeb8a0838
cmp eax, ecx
je 0x42c270
mov eax, dword [0x49b380]
imul eax, eax, 0xa036672c
mov dword [0x49b380], eax
call fcn.0044ff00
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x5dc]
lea edx, [esp + edx + 0x5e0]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.0041f130
mov di, word [0x4a5830]
movsx ecx, di
sar ecx, 3
and ecx, 0x18c84810
cmp ecx, 0xf75afff5
jl 0x42c2e7
mov ax, word [0x4a3168]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a3168], dx
movsx ecx, ax
imul ecx, ecx, 0x2816aa64
mov esi, dword [0x4a0908]
or esi, ecx
mov dword [0x4a0908], esi
jmp 0x42c360
mov eax, 0xe83b1f6f
mov ecx, dword [0x49bea4]
mov dx, word [0x4a43fc]
movsx esi, dx
mov edi, dword [0x497f1c]
and esi, edi
xor ecx, esi
cmp eax, ecx
jg 0x42c33e
mov eax, 0xea48bb87
mov ecx, dword [0x49ba5c]
dec ecx
mov dword [0x49ba5c], ecx
imul ecx, ecx, 0xd7e3f3a1
sub ecx, 0x30c8e1c
cmp eax, ecx
jg 0x42c339
jmp 0x42c339
jmp 0x42c35b
mov ax, word [0x4a2d78]
movsx ecx, ax
xor ecx, 0x4863063
mov edx, dword [0x4a2ac8]
add edx, ecx
mov dword [0x4a2ac8], edx
jmp 0x42c360
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x5e
call fcn.004136b0
mov dword [esp + 0x748], eax
mov eax, dword [0x499ae8]
or eax, 0x6efd2b49
mov dword [0x499ae8], eax
mov eax, dword [esp + 0x748]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5e0]
mov dword [ecx], eax
mov dword [esp + 0x48], eax
call fcn.00454dd0
mov dx, word [0x4a78ae]
mov cx, dx
add ecx, 0xc485a28
mov dx, cx
mov word [0x4a78ae], dx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0xdb4
mov dword [esp + 0x44], eax
call fcn.004136b0
mov dword [esp + 0x744], eax
mov eax, dword [0x497d9c]
xor eax, 0xd5cccda1
mov dword [0x497d9c], eax
mov eax, dword [esp + 0x748]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041ef40
mov eax, dword [0x4a1818]
mov ecx, eax
inc ecx
mov dword [0x4a1818], ecx
mov dx, word [0x4a7b0a]
mov cx, dx
lea eax, [ecx + eax + 1]
mov dx, ax
mov word [0x4a7b0a], dx
mov eax, dword [esp + 0x744]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
call fcn.004551b4
mov dword [esp + 0x73c], eax
mov dx, word [0x4a41dc]
mov ax, dx
add eax, 0x4534b2f5
mov dx, ax
mov word [0x4a41dc], dx
mov eax, dword [esp + 0x744]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0041ef40
mov eax, dword [0x4993bc]
add eax, 0xfbffbab8
mov dword [0x4993bc], eax
cmp dword [esp + 0x73c], 0
je 0x42c8a7
mov eax, 0xecd7341f
mov ecx, dword [0x498da8]
mov edx, ecx
inc edx
mov dword [0x498da8], edx
add ecx, 0x276de0f2
cmp eax, ecx
jl 0x42c4ca
mov eax, dword [0x497fd4]
imul eax, eax, 0xff7fe3d6
mov dword [0x497fd4], eax
mov eax, dword [0x49bba0]
mov ecx, eax
inc ecx
mov dword [0x49bba0], ecx
add eax, 0xa3ffff51
mov ecx, dword [0x49f99c]
sub ecx, eax
mov dword [0x49f99c], ecx
mov eax, dword [esp + 0x73c]
mov ecx, dword [esp + 0x74c]
mov dword [esp + 0x40], eax
call fcn.00428510
mov ecx, dword [esp + 0x74c]
mov dword [esp + 0x3c], eax
call fcn.004323f0
mov ecx, esp
mov edx, dword [esp + 0x40]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00455367
mov ecx, dword [0x49b764]
mov edx, ecx
dec edx
mov dword [0x49b764], edx
mov edx, dword [0x499da8]
add edx, ecx
mov dword [0x499da8], edx
mov ecx, dword [esp + 0x73c]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x38], eax
call fcn.00455455
mov si, word [0x4a3264]
movsx ecx, si
not ecx
and ecx, 0x9003120a
or ecx, 0x4eb4e4e5
mov edx, dword [0x498c94]
and edx, ecx
mov dword [0x498c94], edx
mov ecx, dword [esp + 0x74c]
mov dword [esp + 0x34], eax
call fcn.00435a60
mov eax, dword [0x49b794]
not eax
mov ecx, dword [0x498e90]
add ecx, eax
mov dword [0x498e90], ecx
mov byte [esp + 0x196], 0
mov eax, dword [0x49ed7c]
add eax, 0x41f0b03b
mov dword [0x49ed7c], eax
mov eax, dword [0x497c48]
mov ecx, esp
lea edx, [esp + 0x4e]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x148
mov dword [ecx], 0
call eax
sub esp, 0xc
mov ecx, dword [0x498898]
shl ecx, 9
add ecx, 0xc4640dad
mov edx, dword [0x49f1c4]
or edx, ecx
mov dword [0x49f1c4], edx
mov byte [esp + 0x5db], 0
mov ecx, dword [0x49ec68]
or ecx, 0x17a9713d
mov dword [0x49ec68], ecx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x42da
mov dword [esp + 0x30], eax
call fcn.004136b0
mov dword [esp + 0x740], eax
mov eax, dword [0x499e40]
xor eax, 0xffffffff
cmp eax, 0x621028
jne 0x42c65b
mov eax, dword [0x49af10]
add eax, 0x8cf8c915
mov dword [0x49af10], eax
mov eax, 0x31199777
mov ecx, dword [0x4a8c7c]
mov edx, dword [0x4a8c64]
mov esi, dword [esp + 0x740]
mov edi, esp
mov dword [edi + 0x10], ecx
mov dword [edi + 0xc], edx
lea ecx, [esp + 0x4e]
mov dword [edi + 8], ecx
mov dword [edi + 4], esi
lea ecx, [esp + 0x197]
mov dword [edi], ecx
mov dword [esp + 0x2c], eax
call fcn.00454fbb
mov ecx, dword [0x49e804]
sub ecx, 0x139c5ecd
xor ecx, 0x47e2314f
mov edx, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x28], eax
jl 0x42c6d1
mov ax, word [0x4a70ae]
mov cx, ax
imul ecx, ecx, 0x1aa4225a
mov ax, cx
mov word [0x4a70ae], ax
mov eax, 0xd3a30327
mov ecx, dword [esp + 0x740]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x24], eax
call fcn.0041ef40
mov eax, dword [0x4a0d9c]
mov ecx, eax
dec ecx
mov dword [0x4a0d9c], ecx
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jle 0x42c727
mov eax, dword [0x498720]
mov ecx, dword [0x49ab08]
and eax, ecx
and eax, 0x9852f120
mov dword [0x49ab08], eax
jmp 0x42c730
mov word [0x4a7e06], 0x3239
mov eax, dword [0x4a8c7c]
mov ecx, esp
mov dword [ecx], eax
call fcn.00402d70
mov dx, word [0x4a570e]
movsx ecx, dx
xor ecx, 0xffffffff
cmp ecx, 0x69b72a5a
mov dword [esp + 0x20], eax
jle 0x42c7a7
mov eax, 0x8ad2fea7
mov ecx, dword [0x49af58]
sar ecx, 6
sub ecx, 0x431122ee
cmp eax, ecx
jle 0x42c7a2
mov eax, dword [0x49a600]
mov ecx, eax
inc ecx
mov dword [0x49a600], ecx
mov ecx, dword [0x4a2b14]
or eax, ecx
cmp eax, 0x24d7e2a2
jle 0x42c79d
jmp 0x42c79d
jmp 0x42c7a2
jmp 0x42c7bf
mov ax, word [0x4a353c]
mov cx, ax
and ecx, 0xc648
mov ax, cx
mov word [0x4a353c], ax
mov eax, esp
lea ecx, [esp + 0x197]
mov dword [eax + 4], ecx
lea edx, [esp + 0x5e0]
mov dword [eax], edx
mov dword [esp + 0x1c], ecx
call fcn.00416320
mov eax, dword [0x499720]
or eax, 0xdc752b11
mov dword [0x499720], eax
mov eax, esp
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], 0x445
call fcn.004279a0
mov eax, dword [0x4a2884]
imul eax, eax, 0x4a6b81e
neg eax
mov ecx, dword [0x49d0c8]
lea eax, [ecx + eax + 0x489e6fa1]
mov dword [0x49d0c8], eax
mov eax, esp
lea ecx, [esp + 0x4e]
mov dword [eax], ecx
mov dword [eax + 4], 0x149
call fcn.004279a0
mov eax, dword [0x4a06f4]
add eax, 0xa4c708a
mov dword [0x4a06f4], eax
mov eax, dword [0x497ca4]
mov ecx, esp
mov dword [ecx], 0x160d8
call eax
sub esp, 4
mov eax, dword [0x49ad6c]
cmp eax, 0x720a97f2
jne 0x42c874
mov eax, dword [0x49ca6c]
imul eax, eax, 0xf0f472ad
mov dword [0x49ca6c], eax
mov eax, dword [0x497bf4]
mov ecx, esp
lea edx, [esp + 0x5e0]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x4a77ee]
mov cx, si
add ecx, 0xbe686a50
mov si, cx
mov word [0x4a77ee], si
mov dword [esp + 0x18], eax
mov eax, 0xae4ddfff
mov ecx, dword [0x498f28]
mov edx, ecx
inc edx
mov dword [0x498f28], edx
imul ecx, ecx, 0x1135603e
mov si, word [0x4a58c4]
mov dx, si
inc edx
mov di, dx
mov word [0x4a58c4], di
movsx edx, si
xor ecx, edx
mov dword [0x49f1e0], ecx
mov ecx, esp
lea edx, [esp + 0x5e0]
mov dword [ecx], edx
mov dword [ecx + 4], 0x15c
mov dword [esp + 0x14], eax
call fcn.004279a0
mov si, word [0x4a353c]
movsx eax, si
sar eax, 4
mov ecx, dword [0x4990b8]
inc ecx
mov dword [0x4990b8], ecx
add eax, ecx
or eax, 0xf2146964
mov ecx, dword [esp + 0x14]
cmp ecx, eax
je 0x42c96a
mov eax, dword [0x498e94]
mov ecx, dword [0x49a4b4]
not ecx
imul ecx, ecx, 0xd010cce
and eax, ecx
mov ecx, dword [0x499e30]
and ecx, 0x22851cd5
cmp eax, ecx
jge 0x42c965
mov eax, dword [0x49c358]
mov ecx, dword [0x499210]
sub ecx, eax
mov dword [0x499210], ecx
jmp 0x42c96a
jmp 0x42c96f
mov eax, dword [0x49c0f8]
sar eax, 5
and eax, 0x9717b34a
mov ecx, dword [0x497e40]
imul ecx, eax
mov dword [0x497e40], ecx
add esp, 0x750
pop esi
pop edi
ret