Function at 0x424e60
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x684
mov eax, dword [esp + 0x690]
mov dword [esp + 0x680], eax
mov eax, dword [0x4982e4]
and eax, 0x85c6
mov cx, word [0x482e08]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x482e08], cx
mov eax, dword [esp + 0x680]
mov ecx, eax
call fcn.0043ffe0
cmp eax, 0x8000
jbe 0x42552b
mov eax, 0x95f5a54
mov ecx, dword [0x49935c]
sar ecx, 6
cmp eax, ecx
jle 0x424f04
mov ax, word [0x485d1c]
movsx ecx, ax
mov ax, word [0x486f3c]
movsx edx, ax
cmp ecx, edx
jg 0x424eff
mov eax, 0x77b2b0cb
mov ecx, dword [0x48fa40]
sar ecx, 8
cmp eax, ecx
jg 0x424efa
jmp 0x424efa
jmp 0x424eff
jmp 0x424f04
mov eax, 0x2a43faf1
mov ecx, dword [0x495f4c]
add ecx, 0x8576f441
mov dword [0x495f4c], ecx
mov dword [0x48c898], 0x8e05daa1
mov ecx, dword [0x4986f8]
and ecx, 0xd77ef25b
mov dword [0x4986f8], ecx
mov ecx, esp
lea edx, [esp + 0x558]
mov dword [ecx], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
call fcn.0042adf0
mov dword [esp + 0x554], eax
mov eax, dword [0x48f138]
imul eax, eax, 0x81a4bd74
mov dword [0x48f138], eax
call fcn.00408930
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x554]
lea edx, [esp + edx + 0x558]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.00401300
mov ecx, dword [0x495eac]
add ecx, ecx
mov dword [0x49aec0], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x34b8
call fcn.00415e90
mov dword [esp + 0x67c], eax
mov di, word [0x4849d8]
mov ax, di
add eax, 0x1d5e502
mov di, ax
mov word [0x4849d8], di
mov eax, dword [esp + 0x67c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx], eax
call fcn.00455190
mov ecx, dword [0x48ee64]
and ecx, 0x5d44421a
mov dword [0x48ee64], ecx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x13fc
mov dword [esp + 0x40], eax
call fcn.00415e90
mov dword [esp + 0x678], eax
mov eax, dword [0x496234]
not eax
mov ecx, dword [0x48d84c]
add ecx, eax
mov dword [0x48d84c], ecx
mov eax, dword [esp + 0x67c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.004140f0
mov eax, dword [0x491190]
add eax, 0x5d16e709
or eax, 0x8bca5cda
mov dword [0x48cf80], eax
mov eax, dword [esp + 0x678]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx], eax
call fcn.004559fb
mov dword [esp + 0x670], eax
mov dword [0x48f620], 0xc01c80a
mov eax, dword [esp + 0x678]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.004140f0
mov eax, dword [0x48c9d0]
and eax, 0x4461477e
mov ecx, dword [esp + 0x48]
cmp ecx, eax
je 0x4250bc
mov eax, dword [0x4934ac]
add eax, 0xdedf6c00
mov dword [0x4934ac], eax
cmp dword [esp + 0x670], 0
je 0x4254fb
mov eax, 0x8eed3f42
mov ecx, dword [0x4975c4]
xor ecx, 0x1de614c1
mov dword [0x49ac5c], ecx
mov ecx, dword [0x4953fc]
imul ecx, ecx, 0xc4a3e81f
mov dword [0x4953fc], ecx
mov ecx, dword [esp + 0x670]
mov edx, dword [esp + 0x680]
mov dword [esp + 0x3c], ecx
mov ecx, edx
mov dword [esp + 0x38], eax
call fcn.0043ffe0
mov ecx, dword [esp + 0x680]
mov dword [esp + 0x34], eax
call fcn.0044fe10
mov ecx, esp
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x34]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00455fa8
mov ecx, dword [0x497e28]
shl ecx, 0xa
mov edx, 0x887a3aca
sub edx, ecx
and edx, 0x785b7bd6
mov ecx, dword [0x4999bc]
add ecx, edx
mov dword [0x4999bc], ecx
mov ecx, dword [esp + 0x670]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x30], eax
call fcn.00456096
mov dword [0x489c6c], 0x20590030
mov ecx, dword [esp + 0x680]
mov dword [esp + 0x2c], eax
call fcn.0044fdf0
mov eax, dword [0x4985fc]
not eax
mov ecx, dword [0x48cfa4]
mov edx, dword [esp + 0x38]
sub edx, ecx
cmp eax, edx
je 0x4251cf
mov ax, word [0x484e28]
movsx ecx, ax
mov edx, dword [0x48beec]
sub ecx, edx
mov edx, dword [0x4939ec]
sub edx, ecx
mov dword [0x4939ec], edx
jmp 0x4251e6
mov ax, word [0x48691c]
movsx ecx, ax
mov edx, dword [0x48a990]
and edx, ecx
mov dword [0x48a990], edx
mov eax, 0xff56fddf
mov byte [esp + 0x152], 0
mov ecx, dword [0x494a20]
mov edx, dword [0x493f2c]
dec edx
mov dword [0x493f2c], edx
or ecx, edx
cmp eax, ecx
jne 0x425220
mov eax, dword [0x48dc3c]
imul eax, eax, 0xd7ffff9f
mov dword [0x48dc3c], eax
mov eax, 0x330a4cd8
mov ecx, dword [0x47fa88]
mov edx, esp
lea esi, [esp + 0x4e]
mov dword [edx + 4], esi
mov dword [edx + 8], 0x104
mov dword [edx], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], esi
call ecx
sub esp, 0xc
mov ecx, dword [0x490f50]
and ecx, 0x9027db01
mov edx, dword [0x491bb4]
imul edx, ecx
mov dword [0x491bb4], edx
mov byte [esp + 0x553], 0
mov ecx, dword [0x495e98]
shr ecx, 1
add ecx, 0x2d1a5f74
or ecx, 0xbe55d563
mov edx, dword [0x48ad9c]
sub edx, ecx
mov dword [0x48ad9c], edx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0xcc1
mov dword [esp + 0x20], eax
call fcn.00415e90
mov dword [esp + 0x674], eax
mov eax, dword [0x497cc8]
inc eax
mov dword [0x497cc8], eax
xor eax, 0xe0091e79
mov ecx, dword [0x496dc0]
imul ecx, eax
mov dword [0x496dc0], ecx
mov eax, dword [0x49d0dc]
mov ecx, dword [0x49d0c4]
mov edx, dword [esp + 0x674]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
mov eax, dword [esp + 0x24]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea ecx, [esp + 0x153]
mov dword [esi], ecx
call fcn.00455b58
mov di, word [0x48691c]
mov cx, di
inc ecx
mov di, cx
mov word [0x48691c], di
movsx ecx, di
add ecx, 0x9f062b67
xor ecx, 0x44ecb31d
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x1c], eax
jg 0x425346
mov eax, dword [0x48c950]
add eax, 0x530b5194
mov dword [0x48c950], eax
mov eax, dword [esp + 0x674]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x15
call fcn.004140f0
mov eax, dword [0x48c2d4]
dec eax
mov dword [0x48c2d4], eax
or eax, 0x8615ffe8
or eax, 0x9c868a8b
cmp eax, 0xf1f6ee43
jne 0x42538b
mov word [0x485b9a], 0xde97
jmp 0x4253a3
mov ax, word [0x480492]
mov cx, ax
xor ecx, 0xf2e
mov ax, cx
mov word [0x480492], ax
mov eax, dword [0x49d0dc]
mov ecx, esp
mov dword [ecx], eax
call fcn.004137b0
mov ecx, dword [0x493bc4]
inc ecx
mov dword [0x493bc4], ecx
or ecx, 0x88418223
cmp ecx, 0x96ad6c9
mov dword [esp + 0x18], eax
jge 0x4253e3
mov eax, dword [0x4975b0]
add eax, 0x721c5421
mov dword [0x4975b0], eax
mov eax, esp
lea ecx, [esp + 0x153]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x558]
mov dword [eax], ecx
call fcn.00417d50
mov dx, word [0x486a8e]
movsx eax, dx
imul eax, eax, 0x49e30025
mov ecx, dword [0x496a44]
xor eax, ecx
cmp eax, 0xd7b3dd7e
je 0x42544a
mov eax, dword [0x49bf48]
shr eax, 6
mov cx, word [0x4867d8]
mov dx, cx
xor eax, edx
mov cx, word [0x484f62]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x484f62], cx
mov eax, esp
lea ecx, [esp + 0x153]
mov dword [eax], ecx
mov dword [eax + 4], 0x401
call fcn.00419200
mov eax, dword [0x48fe08]
add eax, 0xf6d0fa0d
mov dword [0x48fe08], eax
mov eax, esp
lea ecx, [esp + 0x4e]
mov dword [eax], ecx
mov dword [eax + 4], 0x105
call fcn.00419200
mov eax, dword [0x49aec8]
xor eax, 0x7bef2af4
mov dword [0x49aec8], eax
mov eax, dword [0x47fae4]
mov ecx, esp
mov dword [ecx], 0x15f90
call eax
sub esp, 4
mov eax, dword [0x496f24]
dec eax
mov dword [0x496f24], eax
mov ecx, dword [0x49099c]
or ecx, eax
mov dword [0x49099c], ecx
mov eax, dword [0x47fa34]
mov ecx, esp
lea edx, [esp + 0x558]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x481bda]
movsx ecx, si
imul ecx, ecx, 0x765d8df2
or ecx, 0xcffa4901
mov edx, dword [0x49a1d0]
add edx, ecx
mov dword [0x49a1d0], edx
mov dword [esp + 0x14], eax
mov eax, dword [0x490608]
mov dword [0x495b2c], eax
mov eax, esp
lea ecx, [esp + 0x558]
mov dword [eax], ecx
mov dword [eax + 4], 0x118
call fcn.00419200
mov eax, dword [0x49c1cc]
add eax, 0x2b5688ff
mov dword [0x49c1cc], eax
mov eax, 0x5f97a819
mov ecx, dword [0x49bd50]
and ecx, 0x11d37b75
cmp eax, ecx
jle 0x425553
mov eax, dword [0x494ac4]
and eax, 0xbdcf7976
mov dword [0x494ac4], eax
add esp, 0x684
pop esi
pop edi
ret