Function at 0x42e9d0
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x690
mov eax, dword [esp + 0x69c]
mov dword [esp + 0x68c], eax
mov eax, dword [0x48f8b8]
add eax, 0xd4d1bc9c
and eax, 0x551876f0
mov ecx, dword [0x499be0]
or ecx, eax
mov dword [0x499be0], ecx
mov eax, dword [esp + 0x68c]
mov ecx, eax
call fcn.004270e0
cmp eax, 0x8000
jbe 0x42f227
mov eax, 0x98777c92
mov ecx, dword [0x492c40]
shl ecx, 5
mov edx, dword [0x48a8a0]
sub ecx, edx
or ecx, 0x3717230c
cmp eax, ecx
jne 0x42ea78
mov eax, dword [0x48bd84]
imul eax, eax, 0x501903aa
mov ecx, dword [0x48f96c]
cmp eax, ecx
jl 0x42ea73
mov eax, dword [0x496fdc]
dec eax
mov dword [0x496fdc], eax
and eax, 0x2582
mov cx, ax
mov word [0x48704c], cx
jmp 0x42ea90
mov ax, word [0x48372e]
mov cx, ax
xor ecx, 0x2b22
mov ax, cx
mov word [0x48372e], ax
mov eax, 0xe19e0598
mov ecx, dword [0x4920f0]
mov edx, ecx
inc edx
mov dword [0x4920f0], edx
and ecx, 0xce33c496
mov edx, dword [0x489e04]
not edx
or ecx, edx
mov edx, dword [0x49c290]
sub edx, ecx
mov dword [0x49c290], edx
mov ecx, dword [0x493e88]
or ecx, 0xa6cb0966
mov dword [0x493e88], ecx
mov si, word [0x488486]
mov cx, si
add ecx, 0xfd5ed181
mov si, cx
mov word [0x488486], si
mov ecx, esp
lea edx, [esp + 0x564]
mov dword [ecx], edx
mov dword [esp + 0x54], eax
call fcn.0042f240
mov dword [esp + 0x560], eax
mov eax, dword [0x49b2e8]
and eax, 0x4e037000
mov dword [0x49b2e8], eax
call fcn.004221f0
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x560]
lea edx, [esp + edx + 0x564]
mov edi, esp
mov dword [edi + 4], ecx
mov dword [edi], edx
call fcn.00429fa0
mov ecx, dword [0x491438]
xor ecx, 0xdd631214
mov dword [0x491438], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x1d20
call fcn.00445b40
mov dword [esp + 0x688], eax
mov si, word [0x48508e]
movsx eax, si
mov ecx, dword [0x4908d4]
mov edx, ecx
inc edx
mov dword [0x4908d4], edx
add eax, ecx
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jne 0x42eba8
mov eax, dword [0x499798]
or eax, 0x9f5f3ad7
mov dword [0x499798], eax
jmp 0x42ebeb
mov eax, 0x3c20513f
mov ecx, dword [0x495548]
mov edx, ecx
dec edx
mov dword [0x495548], edx
cmp eax, ecx
jge 0x42ebe6
mov ax, word [0x4826fa]
movsx ecx, ax
mov edx, dword [0x49986c]
sar edx, 2
sub ecx, edx
mov edx, dword [0x48f034]
xor edx, ecx
mov dword [0x48f034], edx
jmp 0x42ebeb
mov eax, 0x27356336
mov ecx, dword [esp + 0x688]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x564]
mov dword [edx], ecx
mov dword [esp + 0x50], eax
call fcn.00455490
mov si, word [0x4836cc]
mov cx, si
or ecx, 0xf64b
mov si, cx
mov word [0x4836cc], si
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x4213
mov dword [esp + 0x4c], eax
call fcn.00445b40
mov dword [esp + 0x684], eax
mov eax, dword [0x48fb78]
shl eax, 4
xor eax, 0xb125fd1c
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jge 0x42ec6f
mov eax, dword [0x48b724]
xor eax, 0xebdc7677
mov dword [0x48b724], eax
mov eax, 0x9057a8a7
mov ecx, dword [esp + 0x688]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x48], eax
call fcn.004235c0
mov eax, dword [0x493b9c]
mov ecx, eax
inc ecx
mov dword [0x493b9c], ecx
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jle 0x42eceb
mov ax, word [0x489008]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x489008], ax
movsx ecx, ax
add ecx, 0x980fadc0
mov edx, dword [0x493d44]
xor edx, 0xffffffff
and edx, 0xfc86af71
cmp ecx, edx
jle 0x42ece6
mov dword [0x4930b4], 0xa12480f0
jmp 0x42eceb
mov eax, dword [esp + 0x684]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x564]
mov dword [ecx], eax
call fcn.0045563c
mov dword [esp + 0x67c], eax
mov eax, dword [0x48b8ac]
add eax, 0x60898000
mov dword [0x48b8ac], eax
mov eax, dword [esp + 0x684]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.004235c0
mov dx, word [0x485214]
movsx eax, dx
shr eax, 1
imul eax, eax, 0x916117c1
mov ecx, 0x3b5a4f7f
sub ecx, eax
mov dx, word [0x485260]
mov ax, dx
imul eax, ecx
mov dx, ax
mov word [0x485260], dx
cmp dword [esp + 0x67c], 0
je 0x42f1e1
mov eax, 0x302c4ba1
mov cx, word [0x48923a]
movsx edx, cx
shl edx, 6
cmp eax, edx
jge 0x42ed99
mov eax, dword [0x49bc38]
xor eax, 0xd39449b8
mov dword [0x49bc38], eax
mov eax, dword [0x49776c]
mov ecx, dword [0x492a8c]
or ecx, eax
mov dword [0x492a8c], ecx
mov eax, dword [esp + 0x67c]
mov ecx, dword [esp + 0x68c]
mov dword [esp + 0x44], eax
call fcn.004270e0
mov ecx, dword [esp + 0x68c]
mov dword [esp + 0x40], eax
call fcn.0044fac0
mov ecx, esp
mov edx, dword [esp + 0x44]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.004557ef
mov ecx, dword [0x48df08]
sar ecx, 6
imul ecx, ecx, 0x4029e3f0
or ecx, 0xdc62a8f7
cmp ecx, 0x542f429b
mov dword [esp + 0x3c], eax
je 0x42ee5a
mov eax, 0x1c00640
mov ecx, dword [0x48e9e4]
sar ecx, 1
and ecx, 0xe854c3e6
cmp eax, ecx
jg 0x42ee55
mov eax, dword [0x49d364]
mov ecx, eax
inc ecx
mov dword [0x49d364], ecx
cmp eax, 0xca13348c
jle 0x42ee50
jmp 0x42ee50
jmp 0x42ee55
jmp 0x42ee5a
mov eax, 0x39b539c5
mov ecx, dword [esp + 0x67c]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x38], eax
call fcn.004558dd
mov ecx, dword [0x49aed8]
mov edx, dword [0x49c654]
xor ecx, edx
xor ecx, 0x1d01
mov si, word [0x4819f8]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x4819f8], si
mov ecx, dword [esp + 0x68c]
mov dword [esp + 0x34], eax
call fcn.0044fad0
mov eax, dword [0x48a95c]
xor eax, 0xffffffff
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jle 0x42eef8
mov eax, 0x983185d9
mov ecx, dword [0x48b888]
mov edx, ecx
inc edx
mov dword [0x48b888], edx
sub ecx, 0x2d3f4970
cmp eax, ecx
je 0x42eef3
mov eax, dword [0x4945a4]
imul eax, eax, 0xcadf0403
mov dword [0x4945a4], eax
jmp 0x42eef8
mov byte [esp + 0x15e], 0
mov ax, word [0x4840ca]
mov cx, ax
add ecx, 0x77d9bcdb
mov ax, cx
mov word [0x4840ca], ax
mov ecx, dword [0x47fbc8]
mov edx, esp
lea esi, [esp + 0x5a]
mov dword [edx + 4], esi
mov dword [edx + 8], 0x104
mov dword [edx], 0
call ecx
sub esp, 0xc
mov ecx, dword [0x499b20]
mov edx, ecx
inc edx
mov dword [0x499b20], edx
mov edx, dword [0x498040]
inc edx
mov dword [0x498040], edx
sub ecx, edx
or ecx, 0xeef1dd1c
cmp ecx, 0x387bc750
mov dword [esp + 0x30], eax
jle 0x42ef85
mov ax, word [0x481baa]
mov cx, ax
or ecx, 0x351e
mov ax, cx
mov word [0x481baa], ax
mov eax, 0xf9daef1
mov byte [esp + 0x55f], 0
mov ecx, dword [0x49b448]
mov edx, ecx
dec edx
mov dword [0x49b448], edx
mov edx, dword [0x48ab5c]
xor ecx, edx
mov dword [0x48d8e0], ecx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x3c42
mov dword [esp + 0x2c], eax
call fcn.00445b40
mov dword [esp + 0x680], eax
mov dword [0x48c83c], 0x48592674
mov eax, dword [0x49e10c]
mov ecx, dword [0x49e0f4]
mov edx, dword [esp + 0x680]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x5a]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea eax, [esp + 0x15f]
mov dword [esi], eax
call fcn.00455a57
mov ecx, dword [0x49be40]
mov edx, ecx
dec edx
mov dword [0x49be40], edx
add ecx, 0x7d8dba2b
mov edx, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x28], eax
je 0x42f03e
mov eax, dword [0x48cc20]
and eax, 0x8bc26dee
mov dword [0x48cc20], eax
mov eax, 0x568b6f8b
mov ecx, dword [esp + 0x680]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x24], eax
call fcn.004235c0
mov si, word [0x488626]
movsx eax, si
sar eax, 2
or eax, 0x158d8bef
mov ecx, dword [0x499d04]
sub ecx, eax
mov dword [0x499d04], ecx
mov eax, dword [0x49e10c]
mov ecx, esp
mov dword [ecx], eax
call fcn.0044dde0
mov ecx, dword [0x49aadc]
mov edx, dword [esp + 0x24]
cmp edx, ecx
mov dword [esp + 0x20], eax
je 0x42f0ec
mov eax, 0x47376828
mov ecx, dword [0x495540]
inc ecx
mov dword [0x495540], ecx
mov edx, dword [0x48fc8c]
xor edx, 0xffffffff
xor ecx, edx
cmp eax, ecx
jne 0x42f0e7
mov eax, dword [0x499e50]
mov ecx, eax
dec ecx
mov dword [0x499e50], ecx
mov ecx, dword [0x497108]
lea eax, [eax + ecx + 0x5b9bd52]
mov dword [0x497108], eax
jmp 0x42f0ec
mov eax, esp
lea ecx, [esp + 0x15f]
mov dword [eax + 4], ecx
lea edx, [esp + 0x564]
mov dword [eax], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
call fcn.00407b70
mov eax, dword [0x48f4c0]
and eax, 0x53ff258
mov dword [0x48f4c0], eax
mov eax, esp
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], 0x401
call fcn.004233d0
mov eax, dword [0x4930b0]
add eax, 0xee435c58
mov dword [0x4930b0], eax
mov eax, esp
lea ecx, [esp + 0x5a]
mov dword [eax], ecx
mov dword [eax + 4], 0x105
call fcn.004233d0
mov eax, dword [0x494bc4]
and eax, 0x6acede8b
mov dword [0x494bc4], eax
mov eax, dword [0x47fc24]
mov ecx, esp
mov dword [ecx], 0x15f90
call eax
sub esp, 4
mov eax, dword [0x49af68]
mov ecx, eax
inc ecx
mov dword [0x49af68], ecx
mov ecx, dword [0x49cc78]
lea eax, [eax + ecx + 1]
mov ecx, dword [0x49d094]
mov edx, ecx
inc edx
mov dword [0x49d094], edx
lea eax, [ecx + eax + 1]
mov dword [0x49c65c], eax
mov eax, dword [0x47fb74]
mov ecx, esp
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x48913a]
movsx ecx, si
imul ecx, ecx, 0x309b2878
mov edx, dword [0x489cb0]
or ecx, edx
mov edx, dword [0x49c774]
or edx, ecx
mov dword [0x49c774], edx
mov dword [esp + 0x14], eax
mov ax, word [0x487262]
movsx ecx, ax
or ecx, 0xfde7df5f
mov edx, dword [0x496b74]
xor edx, ecx
mov dword [0x496b74], edx
mov ecx, esp
lea edx, [esp + 0x564]
mov dword [ecx], edx
mov dword [ecx + 4], 0x118
call fcn.004233d0
mov ecx, dword [0x49ae68]
add ecx, 0x4201
mov dword [0x49ae68], ecx
mov eax, dword [0x493e30]
and eax, 0x79bdea65
mov dword [0x493e30], eax
add esp, 0x690
pop esi
pop edi
ret