Function at 0x4109a0
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x7d0
mov eax, dword [esp + 0x7dc]
mov dword [esp + 0x7cc], eax
mov eax, dword [0x495374]
add eax, 0x168934db
mov dword [0x495374], eax
mov eax, dword [esp + 0x7cc]
mov ecx, eax
call fcn.0043f980
cmp eax, 0x806f
jbe 0x41101f
mov eax, dword [0x496e54]
add eax, 0x334e0b45
mov dword [0x496e54], eax
mov cx, word [0x4906b8]
movsx eax, cx
shl eax, 0xa
or eax, 0x311c972
cmp eax, 0x87357217
jg 0x410a1a
mov eax, dword [0x4914f4]
imul eax, eax, 0x6f00f843
mov dword [0x4914f4], eax
mov eax, 0x56a51950
mov ecx, dword [0x497570]
xor ecx, 0x6cf845f0
mov edx, dword [0x4948d4]
imul edx, ecx
mov dword [0x4948d4], edx
mov si, word [0x4906be]
mov cx, si
and ecx, 0x97df
mov si, cx
mov word [0x4906be], si
mov ecx, esp
lea edx, [esp + 0x635]
mov dword [ecx], edx
mov dword [esp + 0x48], eax
call fcn.00435490
mov dword [esp + 0x630], eax
mov eax, dword [0x495b28]
or eax, 0x5e72e294
mov dword [0x495b28], eax
call fcn.00443fb0
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x630]
lea edx, [esp + edx + 0x635]
mov edi, esp
mov dword [edi + 4], ecx
mov dword [edi], edx
call fcn.00420bb0
mov ecx, dword [0x4927e8]
xor ecx, 0xffffffff
add ecx, 0xd9384411
sub ecx, 0xef86e383
mov edx, dword [esp + 0x48]
cmp edx, ecx
jle 0x410ad1
mov dword [0x4941f0], 0xa4fd4b23
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x5b5a
call fcn.00443650
mov dword [esp + 0x7c8], eax
mov cx, word [0x48f304]
movsx eax, cx
xor eax, 0x94b648fd
mov edx, dword [0x49665c]
and edx, eax
mov dword [0x49665c], edx
mov eax, dword [esp + 0x7c8]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x635]
mov dword [edx], eax
mov dword [esp + 0x44], eax
call fcn.00455820
mov edx, dword [0x495d20]
or edx, 0xd8b37f8d
mov dword [0x495d20], edx
mov edx, esp
mov dword [edx + 4], 3
mov dword [edx], 0x2e54
mov dword [esp + 0x40], eax
call fcn.00443650
mov dword [esp + 0x7c4], eax
mov eax, dword [0x493700]
xor eax, 0x7cab1ca9
mov dword [0x493700], eax
mov eax, dword [esp + 0x7c8]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 5
call fcn.00428120
mov cx, word [0x48e042]
mov ax, cx
shl eax, 8
add eax, 0xa1f9e4a6
mov cx, ax
mov word [0x48fcfa], cx
mov eax, dword [esp + 0x7c4]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [edx], eax
call fcn.004564cf
mov dword [esp + 0x7bc], eax
mov eax, dword [0x493df4]
xor eax, 0x20600032
mov dword [0x493df4], eax
mov eax, dword [esp + 0x7c4]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 3
call fcn.00428120
mov eax, dword [0x4950d4]
dec eax
mov dword [0x4950d4], eax
mov edx, dword [0x493a60]
and edx, eax
mov dword [0x493a60], edx
cmp dword [esp + 0x7bc], 0
je 0x410fd3
mov ax, word [0x48e346]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x48e346], dx
movsx ecx, ax
add ecx, 0xfaa109da
mov esi, dword [0x491970]
xor ecx, esi
mov esi, dword [0x492cb0]
sub esi, ecx
mov dword [0x492cb0], esi
mov ecx, dword [0x495820]
mov esi, 0x2815c7
sub esi, ecx
mov ax, si
mov word [0x48e716], ax
mov ecx, dword [esp + 0x7bc]
mov esi, dword [esp + 0x7cc]
mov dword [esp + 0x3c], ecx
mov ecx, esi
call fcn.0043f980
mov ecx, dword [esp + 0x7cc]
mov dword [esp + 0x38], eax
call fcn.004218a0
mov ecx, esp
mov esi, dword [esp + 0x3c]
mov dword [ecx + 0xc], esi
mov esi, dword [esp + 0x38]
mov dword [ecx + 4], esi
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00458f3d
mov ecx, dword [0x4924a4]
imul ecx, ecx, 0xa8c10da5
mov dword [0x4924a4], ecx
mov ecx, dword [esp + 0x7bc]
mov esi, esp
mov dword [esi], ecx
mov dword [esp + 0x34], eax
call fcn.00456bc3
mov ecx, dword [0x496e70]
and ecx, 0x96dbff69
mov dword [0x496e70], ecx
mov ecx, dword [esp + 0x7cc]
mov dword [esp + 0x30], eax
call fcn.00444770
mov eax, dword [0x491f8c]
add eax, 0x3982228e
mov dword [0x491f8c], eax
mov byte [esp + 0x1bf], 0
mov eax, dword [0x49137c]
imul eax, eax, 0xa99b1335
add eax, 0x1527059f
cmp eax, 0xe7a4e7ee
jg 0x410d27
mov ax, word [0x4905c4]
mov cx, ax
add ecx, 0x345c904a
mov ax, cx
mov word [0x4905c4], ax
mov eax, 0x18079662
mov ecx, dword [0x48da88]
mov edx, esp
lea esi, [esp + 0x4c]
mov dword [edx + 4], esi
mov dword [edx + 8], 0x173
mov dword [edx], 0
mov dword [esp + 0x2c], eax
call ecx
sub esp, 0xc
mov dword [0x497470], 0x8bfe19f3
mov byte [esp + 0x62f], 0
mov ecx, dword [0x49417c]
imul ecx, ecx, 0xaa24a40a
mov dword [0x49417c], ecx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x592
mov dword [esp + 0x28], eax
call fcn.00443650
mov dword [esp + 0x7c0], eax
mov eax, dword [0x4975d8]
sar eax, 5
xor eax, 0x4e125121
mov ecx, dword [0x492ee4]
mov edx, ecx
dec edx
mov dword [0x492ee4], edx
or eax, ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x410dee
mov eax, dword [0x49694c]
mov ecx, eax
inc ecx
mov dword [0x49694c], ecx
mov dx, word [0x490de4]
mov cx, dx
imul eax, ecx
imul eax, eax, 0xf577998a
mov dx, ax
mov word [0x490de4], dx
jmp 0x410e06
mov ax, word [0x490eb0]
mov cx, ax
xor ecx, 0x3979
mov ax, cx
mov word [0x490eb0], ax
mov eax, dword [0x49873c]
mov ecx, dword [0x498724]
mov edx, dword [esp + 0x7c0]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x4c]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea eax, [esp + 0x1c0]
mov dword [esi], eax
call fcn.00455d43
mov ecx, dword [0x4969f8]
or ecx, 0x5779a6bc
mov dword [0x4969f8], ecx
mov ecx, dword [esp + 0x7c0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x24], eax
call fcn.00428120
mov eax, dword [0x491f0c]
add eax, 0x7991c4f
mov dword [0x491f0c], eax
mov eax, dword [0x49873c]
mov ecx, esp
mov dword [ecx], eax
call fcn.0044b750
mov di, word [0x49042e]
movsx ecx, di
xor ecx, 0xdf308d04
cmp ecx, 0x88119404
mov dword [esp + 0x20], eax
jg 0x410eec
mov eax, 0x3dda4963
mov ecx, dword [0x496968]
add ecx, 0xe00ed652
sub ecx, 0x8a66fb45
cmp eax, ecx
jge 0x410ee7
mov ax, word [0x48e080]
movsx ecx, ax
shl ecx, 9
xor ecx, 0x21100458
or ecx, 0xd4a79aa6
mov edx, dword [0x496e28]
add edx, ecx
mov dword [0x496e28], edx
jmp 0x410eec
mov eax, esp
lea ecx, [esp + 0x1c0]
mov dword [eax + 4], ecx
lea edx, [esp + 0x635]
mov dword [eax], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
call fcn.0042f790
mov si, word [0x48ef36]
mov ax, si
add eax, 0x11546677
mov si, ax
mov word [0x48ef36], si
mov eax, esp
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], 0x470
call fcn.00450890
mov eax, dword [0x494410]
and eax, 0xa97ef4c3
mov dword [0x494410], eax
mov eax, esp
lea ecx, [esp + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], 0x174
call fcn.00450890
mov eax, dword [0x492a78]
mov ecx, eax
dec ecx
mov dword [0x492a78], ecx
mov ecx, dword [0x4921b4]
shl ecx, 9
lea eax, [eax + ecx - 0x7388c715]
mov ecx, dword [0x491cc8]
or ecx, eax
mov dword [0x491cc8], ecx
mov eax, dword [0x48dae4]
mov ecx, esp
mov dword [ecx], 0x1639a
call eax
sub esp, 4
mov eax, dword [0x496070]
and eax, 0x4c1fb9c0
mov dword [0x496070], eax
mov eax, dword [0x48da34]
mov ecx, esp
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x492fec]
imul ecx, ecx, 0x429a0e1b
mov dword [0x492fec], ecx
mov dword [esp + 0x14], eax
mov ax, word [0x4906d0]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4906d0], dx
movsx ecx, ax
or ecx, 0xfdc292b8
mov esi, dword [0x494064]
sub esi, ecx
mov dword [0x494064], esi
mov ecx, esp
lea esi, [esp + 0x635]
mov dword [ecx], esi
mov dword [ecx + 4], 0x187
call fcn.00450890
mov dword [0x492654], 0x44214296
mov eax, 0x708cb145
mov ecx, dword [0x4928a0]
add ecx, 0x1aa76e05
cmp eax, ecx
jge 0x411047
mov ax, word [0x48e5d6]
movsx ecx, ax
mov dword [0x497004], ecx
add esp, 0x7d0
pop esi
pop edi
ret