Function at 0x41fbd0
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x700
mov eax, dword [esp + 0x70c]
mov dword [esp + 0x6fc], eax
mov eax, dword [0x4998ac]
shl eax, 3
or eax, 0x24137994
and eax, 0x6c9ffdfc
mov dword [0x499054], eax
mov eax, dword [esp + 0x6fc]
mov ecx, eax
call fcn.00401260
cmp eax, 0x8029
jbe 0x420191
mov eax, 0x5398a030
mov dword [0x498ff8], 0x219d544
mov ecx, dword [0x499188]
or ecx, 0xfb37dece
mov dword [0x499188], ecx
mov ecx, dword [0x499998]
add ecx, 0x1e3e3805
mov dword [0x499998], ecx
mov dword [0x49996c], 0xad711c7d
mov ecx, esp
lea edx, [esp + 0x5ab]
mov dword [ecx], edx
mov dword [esp + 0x48], eax
call fcn.0041e240
mov dword [esp + 0x5a4], eax
mov si, word [0x49a712]
mov ax, si
imul eax, eax, 0x3561d1fd
mov si, ax
mov word [0x49a712], si
call fcn.00431c10
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x5a4]
lea edx, [esp + edx + 0x5ab]
mov edi, esp
mov dword [edi + 4], ecx
mov dword [edi], edx
call fcn.00430540
mov ecx, dword [0x497f20]
inc ecx
mov dword [0x497f20], ecx
or ecx, 0xcf203529
mov edx, dword [esp + 0x48]
cmp edx, ecx
jg 0x41fce7
mov ax, word [0x499c5c]
mov cx, ax
and ecx, 0x61e2
mov ax, cx
mov word [0x499c5c], ax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x58e2
call fcn.0043a250
mov dword [esp + 0x6f8], eax
mov cx, word [0x499ca2]
mov ax, cx
dec eax
mov dx, ax
mov word [0x499ca2], dx
movsx eax, cx
xor eax, 0x420a0410
or eax, 0x9d21bb8d
mov esi, dword [0x497f30]
and esi, eax
mov dword [0x497f30], esi
mov eax, dword [esp + 0x6f8]
mov esi, esp
mov dword [esi + 4], eax
lea eax, [esp + 0x5ab]
mov dword [esi], eax
mov dword [esp + 0x44], eax
call fcn.00454970
mov word [0x499c68], 0x4c1f
mov esi, esp
mov dword [esi + 4], 3
mov dword [esi], 0x7627
mov dword [esp + 0x40], eax
call fcn.0043a250
mov dword [esp + 0x6f4], eax
mov eax, dword [0x498948]
mov esi, eax
dec esi
mov dword [0x498948], esi
mov esi, 0x4957a2ec
sub esi, eax
mov cx, word [0x49a89c]
mov ax, cx
and eax, esi
mov cx, ax
mov word [0x49a89c], cx
mov eax, dword [esp + 0x6f8]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], 5
call fcn.004050b0
mov eax, dword [0x497dc8]
add eax, 0x60446ee0
mov dword [0x497dc8], eax
mov eax, dword [esp + 0x6f4]
mov esi, esp
mov dword [esi + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esi], eax
call fcn.00455143
mov dword [esp + 0x6ec], eax
mov cx, word [0x49a2b6]
mov ax, cx
xor eax, 0x2aa1
mov cx, ax
mov word [0x49a2b6], cx
mov eax, dword [esp + 0x6f4]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], 3
call fcn.004050b0
mov cx, word [0x49a624]
mov ax, cx
or eax, 0x6cd6
mov cx, ax
mov word [0x49a624], cx
cmp dword [esp + 0x6ec], 0
je 0x42014a
mov eax, dword [0x499564]
shl eax, 8
add eax, 0xa4c37d96
and eax, 0x178ed2b8
mov dword [0x49980c], eax
mov eax, dword [0x497e00]
and eax, 0x51d4cc29
mov dword [0x497e00], eax
mov eax, dword [esp + 0x6ec]
mov ecx, dword [esp + 0x6fc]
mov dword [esp + 0x3c], eax
call fcn.00401260
mov ecx, dword [esp + 0x6fc]
mov dword [esp + 0x38], eax
call fcn.0043e950
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.00455795
mov ecx, dword [0x499168]
xor ecx, 0xf81563ca
mov dword [0x499168], ecx
mov ecx, dword [esp + 0x6ec]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x34], eax
call fcn.00455883
mov si, word [0x49aa96]
mov cx, si
and ecx, 0x530f
mov si, cx
mov word [0x49aa96], si
mov ecx, dword [esp + 0x6fc]
mov dword [esp + 0x30], eax
call fcn.0040ada0
mov si, word [0x499c32]
mov ax, si
and eax, 0xfefe
mov si, ax
mov word [0x499c32], si
mov byte [esp + 0x179], 0
mov eax, dword [0x49881c]
imul eax, eax, 0xc4802068
mov dword [0x49881c], eax
mov eax, dword [0x497508]
mov ecx, esp
lea edx, [esp + 0x4c]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x12d
mov dword [ecx], 0
mov dword [esp + 0x2c], edx
call eax
sub esp, 0xc
mov ecx, dword [0x497f44]
add ecx, 0x4af434d2
mov dword [0x497f44], ecx
mov byte [esp + 0x5a3], 0
mov ecx, dword [0x498f20]
add ecx, 0xd04a0862
mov dword [0x498f20], ecx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x7223
mov dword [esp + 0x28], eax
call fcn.0043a250
mov dword [esp + 0x6f0], eax
mov eax, dword [0x4997fc]
mov ecx, eax
dec ecx
mov dword [0x4997fc], ecx
mov ecx, dword [0x498d5c]
xor eax, ecx
xor eax, 0xc4d7ce28
mov dword [0x498d5c], eax
mov eax, dword [0x49b6ac]
mov ecx, dword [0x49b694]
mov edx, dword [esp + 0x6f0]
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 + 0x17a]
mov dword [edi], ecx
mov dword [esp + 0x24], ecx
call fcn.004552a0
mov ecx, dword [0x497e30]
sar ecx, 5
imul ecx, ecx, 0x5f51de9d
or ecx, 0xa76987fe
mov edx, dword [0x49921c]
and edx, ecx
mov dword [0x49921c], edx
mov ecx, dword [esp + 0x6f0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x20], eax
call fcn.004050b0
mov eax, dword [0x4999f8]
add eax, 0xbf23ec7d
or eax, 0xea82acea
mov ecx, dword [0x497b94]
imul ecx, eax
mov dword [0x497b94], ecx
mov eax, dword [0x49b6ac]
mov ecx, esp
mov dword [ecx], eax
call fcn.0044e4f0
mov si, word [0x499e8a]
mov cx, si
add ecx, 0xa5b462f
mov si, cx
mov word [0x499e8a], si
mov ecx, esp
mov edx, dword [esp + 0x24]
mov dword [ecx + 4], edx
lea edi, [esp + 0x5ab]
mov dword [ecx], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
call fcn.0043f350
mov eax, dword [0x498ce4]
and eax, 0xf66ef1d5
mov dword [0x498ce4], eax
mov eax, esp
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
mov dword [eax + 4], 0x42a
call fcn.0044b180
mov eax, dword [0x499670]
mov ecx, 0xec7398b8
sub ecx, eax
xor ecx, 0x8c594ef6
mov eax, dword [0x499484]
sub eax, ecx
mov dword [0x499484], eax
mov eax, esp
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov dword [eax + 4], 0x12e
call fcn.0044b180
mov eax, dword [0x499834]
xor eax, 0xcbbdcbab
mov dword [0x499834], eax
mov eax, dword [0x497564]
mov ecx, esp
mov dword [ecx], 0x162ac
call eax
sub esp, 4
mov eax, dword [0x498954]
or eax, 0x10690312
mov dword [0x498954], eax
mov eax, dword [0x4974b4]
mov ecx, esp
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x498034]
shl ecx, 3
or ecx, 0x28e0ef5
mov edx, dword [0x497a38]
add edx, ecx
mov dword [0x497a38], edx
mov dword [esp + 0x14], eax
mov eax, dword [0x4990e4]
imul eax, eax, 0xdb17c567
mov dword [0x4990e4], eax
mov eax, esp
lea ecx, [esp + 0x5ab]
mov dword [eax], ecx
mov dword [eax + 4], 0x141
call fcn.0044b180
mov eax, dword [0x499a80]
mov ecx, eax
inc ecx
mov dword [0x499a80], ecx
mov ecx, dword [0x498cb0]
lea eax, [eax + ecx + 0x40b35eff]
mov dword [0x498cb0], eax
mov eax, dword [0x498548]
mov ecx, eax
dec ecx
mov dword [0x498548], ecx
mov ecx, dword [0x498628]
sar ecx, 8
neg ecx
lea eax, [eax + ecx - 1]
mov ecx, dword [0x497b14]
or ecx, eax
mov dword [0x497b14], ecx
add esp, 0x700
pop esi
pop edi
ret