Function at 0x42a150
Capabilities:
Write file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x7ac
mov eax, dword [esp + 0x7bc]
mov dword [esp + 0x7a8], eax
mov cx, word [0x498912]
mov ax, cx
xor eax, 0x33f3
mov cx, ax
mov word [0x498912], cx
mov eax, dword [esp + 0x7a8]
mov ecx, eax
call fcn.00421310
cmp eax, 0x8064
jbe 0x42a9e9
mov eax, 0x1dfd9de4
mov ecx, dword [0x49d498]
mov edx, dword [0x4a5764]
mov esi, edx
dec esi
mov dword [0x4a5764], esi
sub edx, 0xf944a767
xor ecx, edx
cmp eax, ecx
jne 0x42a1e0
mov ax, word [0x494d6a]
movsx ecx, ax
xor ecx, 0xd0044d29
mov edx, dword [0x49fa5c]
add edx, ecx
mov dword [0x49fa5c], edx
mov eax, 0x6ac42c2b
mov ecx, dword [0x4a8924]
cmp eax, ecx
je 0x42a22a
mov eax, 0xa2918181
mov cx, word [0x49644c]
movsx edx, cx
add edx, 0x5e64f2bc
add edx, 0x81e6131e
cmp eax, edx
jne 0x42a225
mov eax, dword [0x4ab648]
add eax, 0x4ffded7f
mov dword [0x4ab648], eax
jmp 0x42a239
mov eax, dword [0x4a1980]
and eax, 0xdfe7ffdb
mov dword [0x4a1980], eax
mov ax, word [0x4993c2]
mov cx, ax
xor ecx, 0xb722
mov ax, cx
mov word [0x4993c2], ax
mov ecx, dword [0x4a61a8]
xor ecx, 0xe29ab800
mov dword [0x4a61a8], ecx
mov ecx, esp
lea edx, [esp + 0x61c]
mov dword [ecx], edx
call fcn.00433b70
mov dword [esp + 0x618], eax
mov eax, dword [0x4a72a8]
or eax, 0xe67b8eeb
mov dword [0x4a72a8], eax
call fcn.0041c550
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x618]
lea edx, [esp + edx + 0x61c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.00418420
mov ecx, dword [0x49dfc0]
mov edx, ecx
inc edx
mov dword [0x49dfc0], edx
imul ecx, ecx, 0xbc6f6c47
mov edx, dword [0x4a8b10]
or edx, ecx
mov dword [0x4a8b10], edx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x18a5
call fcn.00402ec0
mov dword [esp + 0x7a4], eax
mov eax, dword [0x49cbe4]
dec eax
mov dword [0x49cbe4], eax
cmp eax, 0x465a088
je 0x42a34e
mov eax, dword [0x49f26c]
mov ecx, eax
dec ecx
mov dword [0x49f26c], ecx
or eax, 0x7b77e2e2
cmp eax, 0x26845528
je 0x42a349
mov eax, 0xfa73a4df
mov ecx, dword [0x4a7ee4]
sar ecx, 5
xor ecx, 0xe6c28503
cmp eax, ecx
jl 0x42a344
jmp 0x42a344
jmp 0x42a349
jmp 0x42a367
mov eax, dword [0x4a1650]
dec eax
mov dword [0x4a1650], eax
mov ecx, dword [0x4a0768]
xor ecx, eax
mov dword [0x4a0768], ecx
mov eax, 0x80002279
mov ecx, dword [esp + 0x7a4]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x61c]
mov dword [edx], ecx
mov dword [esp + 0x44], eax
call fcn.00454790
mov ecx, dword [0x4a69c4]
mov edx, ecx
inc edx
mov dword [0x4a69c4], edx
mov si, word [0x4966be]
movsx edx, si
sar edx, 8
add ecx, edx
mov edx, dword [esp + 0x44]
cmp edx, ecx
mov dword [esp + 0x40], eax
jge 0x42a3c7
mov eax, dword [0x4a2184]
add eax, 0x71efdff7
mov dword [0x4a2184], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x428c
call fcn.00402ec0
mov dword [esp + 0x7a0], eax
mov eax, dword [0x4a78d0]
or eax, 0xffb60986
mov dword [0x4a78d0], eax
mov eax, dword [esp + 0x7a4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.004018d0
mov eax, dword [0x4a5360]
add eax, 0x8c0ea04d
mov ecx, dword [0x4abd00]
and ecx, eax
mov dword [0x4abd00], ecx
mov eax, dword [esp + 0x7a0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x61c]
mov dword [ecx], eax
call fcn.00455013
mov dword [esp + 0x798], eax
mov eax, dword [0x4a4a80]
mov dx, word [0x499046]
movsx ecx, dx
shl ecx, 6
and eax, ecx
mov ecx, dword [0x4a84a8]
and eax, ecx
and eax, 0x1c33c780
mov dword [0x4a84a8], eax
mov eax, dword [esp + 0x7a0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.004018d0
mov dx, word [0x49b77a]
movsx eax, dx
xor eax, 0xffffffff
cmp eax, 0x41246e6f
jl 0x42a4a5
mov eax, dword [0x49ee98]
add eax, 0x876196a6
mov dword [0x49ee98], eax
cmp dword [esp + 0x798], 0
je 0x42a9b9
mov eax, 0x773811bd
mov cx, word [0x499980]
movsx edx, cx
add edx, 0x8787a934
mov esi, dword [0x4aa780]
dec esi
mov dword [0x4aa780], esi
mov edi, dword [0x4a7d68]
mov ebx, edi
inc ebx
mov dword [0x4a7d68], ebx
sub eax, edi
xor esi, eax
cmp edx, esi
jl 0x42a504
mov eax, dword [0x4a7454]
add eax, 0x51999bb6
mov dword [0x4a7454], eax
jmp 0x42a51c
mov ax, word [0x4965d4]
mov cx, ax
xor ecx, 0xeb16
mov ax, cx
mov word [0x4965d4], ax
mov ax, word [0x4997fa]
movsx ecx, ax
or ecx, 0x1ca6380c
mov ax, word [0x495f4c]
mov dx, ax
inc edx
mov si, dx
mov word [0x495f4c], si
movsx edx, ax
sub edx, 0xffa75f1d
or edx, 0x584c7249
cmp ecx, edx
jl 0x42a595
mov eax, 0x3ac1cee1
mov ecx, dword [0x4a7490]
xor ecx, 0xffffffff
and ecx, 0x91616b7f
cmp eax, ecx
je 0x42a590
mov ax, word [0x497662]
movsx ecx, ax
and ecx, 0x81b6114d
mov edx, dword [0x4a2888]
imul edx, ecx
mov dword [0x4a2888], edx
jmp 0x42a5a4
mov eax, dword [0x4a3d8c]
add eax, 0x54f0df8
mov dword [0x4a3d8c], eax
mov eax, dword [esp + 0x798]
mov ecx, dword [esp + 0x7a8]
mov dword [esp + 0x3c], eax
call fcn.00421310
mov ecx, dword [esp + 0x7a8]
mov dword [esp + 0x38], eax
call fcn.00402600
mov ecx, esp
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.004551c6
mov ecx, dword [0x4a7948]
or ecx, 0x3f904bc1
mov dword [0x4a7948], ecx
mov ecx, dword [esp + 0x798]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x34], eax
call fcn.004552b4
mov ecx, dword [0x4a49cc]
and ecx, 0xdc481010
mov dword [0x4a49cc], ecx
mov ecx, dword [esp + 0x7a8]
mov dword [esp + 0x30], eax
call fcn.0043a8a0
mov eax, dword [0x4a3ee8]
shr eax, 4
mov ecx, dword [0x4a2c5c]
add eax, ecx
xor eax, 0xfd1a
mov si, word [0x497ad0]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x497ad0], si
mov byte [esp + 0x1b2], 0
mov si, word [0x49849e]
mov ax, si
add eax, 0xaa46f467
mov si, ax
mov word [0x49849e], si
mov eax, dword [0x494048]
mov ecx, esp
lea edx, [esp + 0x4a]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x168
mov dword [ecx], 0
mov dword [esp + 0x2c], edx
call eax
sub esp, 0xc
mov si, word [0x494cc8]
mov cx, si
and ecx, 0xfbfd
mov si, cx
mov word [0x494cc8], si
mov byte [esp + 0x617], 0
mov ecx, dword [0x4a46fc]
imul ecx, ecx, 0x8dc3a00
and ecx, 0x7000
mov si, word [0x496804]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x496804], si
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x22cc
mov dword [esp + 0x28], eax
call fcn.00402ec0
mov dword [esp + 0x79c], eax
mov eax, dword [0x49d800]
dec eax
mov dword [0x49d800], eax
and eax, 0x877b2fdc
mov ecx, dword [0x4ac0c0]
sub ecx, eax
mov dword [0x4ac0c0], ecx
mov eax, dword [0x4ad0fc]
mov ecx, dword [0x4ad0e4]
mov edx, dword [esp + 0x79c]
mov edi, esp
mov dword [edi + 0x10], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esp + 0x2c]
mov dword [edi + 8], eax
mov dword [edi + 4], edx
lea ecx, [esp + 0x1b3]
mov dword [edi], ecx
call fcn.00454dd3
mov si, word [0x496fb2]
mov cx, si
inc ecx
mov bx, cx
mov word [0x496fb2], bx
movsx ecx, si
xor ecx, 0xd006690d
mov dword [0x4a7314], ecx
mov ecx, dword [esp + 0x79c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x24], eax
call fcn.004018d0
mov eax, dword [0x4a3164]
xor eax, 0x1ef05097
mov dword [0x4a3164], eax
mov eax, dword [0x4ad0fc]
mov ecx, esp
mov dword [ecx], eax
call fcn.0042af30
mov ecx, dword [0x4a1d84]
sar ecx, 0xa
or ecx, 0xff6c2d93
cmp ecx, 0xfe5edb3f
mov dword [esp + 0x20], eax
je 0x42a802
mov eax, dword [0x4a788c]
mov ecx, eax
inc ecx
mov dword [0x4a788c], ecx
add eax, 0x43fc69a1
xor eax, 0xf7f49676
mov ecx, dword [0x4a99e8]
and ecx, eax
mov dword [0x4a99e8], ecx
jmp 0x42a83c
mov eax, dword [0x49e010]
and eax, 0x4dbb8c6b
cmp eax, 0xe886a0c8
jne 0x42a837
mov eax, 0xcc48773
mov ecx, dword [0x4ab1e0]
sar ecx, 7
cmp eax, ecx
jne 0x42a832
jmp 0x42a832
jmp 0x42a837
jmp 0x42a83c
mov eax, esp
lea ecx, [esp + 0x1b3]
mov dword [eax + 4], ecx
lea edx, [esp + 0x61c]
mov dword [eax], edx
mov dword [esp + 0x1c], ecx
call fcn.004352b0
mov eax, dword [0x4a9458]
inc eax
mov dword [0x4a9458], eax
mov ecx, dword [0x4a7bfc]
imul ecx, eax
mov dword [0x4a7bfc], ecx
mov eax, esp
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], 0x465
call fcn.00435880
mov si, word [0x4972dc]
movsx eax, si
not eax
mov ecx, dword [0x49f53c]
imul ecx, ecx, 0xa978392
or eax, ecx
cmp eax, 0x98a0042
jl 0x42a902
mov eax, dword [0x4a1764]
sar eax, 7
xor eax, 0x4f0f3af0
mov ecx, dword [0x4a9f30]
mov edx, dword [0x49dca0]
dec edx
mov dword [0x49dca0], edx
xor ecx, edx
cmp eax, ecx
jl 0x42a8fd
mov eax, 0xff67fea3
mov ecx, dword [0x4a8764]
sar ecx, 7
imul ecx, ecx, 0xf74b27ba
cmp eax, ecx
jle 0x42a8f8
jmp 0x42a8f8
jmp 0x42a8fd
jmp 0x42a912
mov eax, dword [0x4a14ac]
imul eax, eax, 0x486a93fb
mov dword [0x4a14ac], eax
mov eax, 0xe681fde7
mov ecx, esp
lea edx, [esp + 0x4a]
mov dword [ecx], edx
mov dword [ecx + 4], 0x169
mov dword [esp + 0x18], eax
call fcn.00435880
mov eax, dword [0x4a2fb8]
shl eax, 5
or eax, 0xb0200e98
mov ecx, dword [0x4a0b38]
sub ecx, eax
mov dword [0x4a0b38], ecx
mov eax, dword [0x4940a4]
mov ecx, esp
mov dword [ecx], 0x1631e
call eax
sub esp, 4
mov eax, dword [0x4a80f8]
mov ecx, eax
dec ecx
mov dword [0x4a80f8], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jle 0x42a98e
mov ax, word [0x4952da]
mov cx, ax
add ecx, 0x10d57deb
mov ax, cx
mov word [0x4952da], ax
mov eax, dword [0x493ff4]
mov ecx, esp
lea edx, [esp + 0x61c]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x4a1314]
add ecx, 0xbba00501
mov dword [0x4a1314], ecx
mov dword [esp + 0x14], eax
mov dword [0x4a1fb8], 0x948828a9
mov eax, esp
lea ecx, [esp + 0x61c]
mov dword [eax], ecx
mov dword [eax + 4], 0x17c
call fcn.00435880
mov eax, dword [0x4a1b1c]
xor eax, 0xc76524c2
mov dword [0x4a1b1c], eax
mov ax, word [0x497bb4]
mov cx, ax
xor ecx, 0xce6d
mov ax, cx
mov word [0x497bb4], ax
add esp, 0x7ac
pop esi
pop edi
pop ebx
ret