Function at 0x423a40
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x6fc
mov eax, dword [esp + 0x708]
mov dword [esp + 0x6f8], eax
mov eax, dword [0x4a8a34]
add eax, 0x2846ad3c
mov dword [0x4a8a34], eax
mov eax, dword [esp + 0x6f8]
mov ecx, eax
call fcn.00426e30
cmp eax, 0x8026
jbe 0x4241b3
mov eax, 0x61f64ddf
mov ecx, dword [0x4a564c]
mov edx, ecx
dec edx
mov dword [0x4a564c], edx
add ecx, 0x1a4e3699
mov edx, dword [0x4aa3b0]
sub eax, edx
cmp ecx, eax
jge 0x423ae6
mov eax, dword [0x4a71bc]
sar eax, 9
and eax, 0x1b0edbeb
mov ecx, dword [0x4afa14]
mov edx, ecx
dec edx
mov dword [0x4afa14], edx
and ecx, 0x118a98f5
cmp eax, ecx
jle 0x423ae1
mov eax, dword [0x4a5098]
xor eax, 0xabfb0f96
mov dword [0x4a5098], eax
jmp 0x423ae6
mov eax, 0x2aa9cd0c
mov cx, word [0x49bcda]
mov dx, cx
xor edx, 0x2001
mov cx, dx
mov word [0x49bcda], cx
mov edx, dword [0x4a737c]
add edx, 0x4aba98e0
mov dword [0x4a737c], edx
mov cx, word [0x49a97e]
mov dx, cx
and edx, 0xbf5d
mov cx, dx
mov word [0x49a97e], cx
mov edx, esp
lea esi, [esp + 0x5aa]
mov dword [edx], esi
mov dword [esp + 0x4c], eax
call fcn.0044fda0
mov dword [esp + 0x5a4], eax
mov eax, dword [0x4ac2c0]
xor eax, 0xfaa3bd72
mov dword [0x4ac2c0], eax
call fcn.00401180
movzx edx, al
and edx, 3
add edx, 7
mov esi, dword [esp + 0x5a4]
lea esi, [esp + esi + 0x5aa]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
call fcn.00414e40
mov edx, dword [0x4a3380]
mov esi, edx
inc esi
mov dword [0x4a3380], esi
and edx, 0x8ac671e1
xor edx, 0xbf63c9f7
mov esi, dword [esp + 0x4c]
cmp esi, edx
jne 0x423bb9
mov eax, dword [0x4b1238]
add eax, 0x878c0643
mov dword [0x4b1238], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x5f7
call fcn.00403e20
mov dword [esp + 0x6f4], eax
mov eax, dword [0x4aae64]
and eax, 0xa6746a07
mov dword [0x4aae64], eax
mov eax, dword [esp + 0x6f4]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5aa]
mov dword [ecx], eax
mov dword [esp + 0x48], eax
call fcn.00454ca0
mov ecx, dword [0x4a5724]
sar ecx, 9
mov edx, dword [0x4b0744]
or edx, ecx
mov dword [0x4b0744], edx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x4454
mov dword [esp + 0x44], eax
call fcn.00403e20
mov dword [esp + 0x6f0], eax
mov si, word [0x49ac66]
mov ax, si
mov ecx, eax
dec ecx
mov si, cx
mov word [0x49ac66], si
or eax, 0xcfba
mov si, word [0x49db60]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x49db60], si
mov eax, dword [esp + 0x6f4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0040f650
mov si, word [0x49b4fc]
mov ax, si
shl eax, 9
mov si, word [0x49eda2]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x49eda2], si
mov eax, dword [esp + 0x6f0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
call fcn.004551ef
mov dword [esp + 0x6e8], eax
mov si, word [0x49e394]
movsx eax, si
xor eax, 0xd775147f
xor eax, 0x3247f9c0
cmp eax, 0x55e86875
jle 0x423d44
mov eax, dword [0x4a27fc]
mov ecx, eax
dec ecx
mov dword [0x4a27fc], ecx
mov ecx, 0x259182c2
sub ecx, eax
or ecx, 0xb53fe07f
mov eax, dword [0x4a3a58]
dec eax
mov dword [0x4a3a58], eax
or eax, 0x1966a307
cmp ecx, eax
jg 0x423d3f
mov ax, word [0x4a0b98]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a0b98], dx
movsx ecx, ax
imul ecx, ecx, 0x4cb7c3fa
mov esi, dword [0x4a80f4]
or esi, ecx
mov dword [0x4a80f4], esi
jmp 0x423d44
mov eax, dword [esp + 0x6f0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0040f650
mov dword [0x4a9364], 0x317f7e1c
cmp dword [esp + 0x6e8], 0
je 0x42412d
mov eax, 0xf02253cf
mov ecx, dword [0x4a9560]
mov edx, ecx
dec edx
mov dword [0x4a9560], edx
add ecx, 0x2870ea2b
cmp eax, ecx
jge 0x423da4
mov eax, dword [0x4a6144]
add eax, 0xd8658528
mov dword [0x4a6144], eax
mov eax, dword [0x4ac004]
xor eax, 0x4551a565
mov ecx, dword [0x4a486c]
add ecx, eax
mov dword [0x4a486c], ecx
mov eax, dword [esp + 0x6e8]
mov ecx, dword [esp + 0x6f8]
mov dword [esp + 0x40], eax
call fcn.00426e30
mov ecx, dword [esp + 0x6f8]
mov dword [esp + 0x3c], eax
call fcn.0040b440
mov ecx, esp
mov edx, dword [esp + 0x40]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.004553a2
mov ecx, dword [0x4ac694]
mov edx, ecx
inc edx
mov dword [0x4ac694], edx
and ecx, 0x1b88
or ecx, 0x2466
mov si, word [0x49fb02]
mov dx, si
xor edx, ecx
mov si, dx
mov word [0x49fb02], si
mov ecx, dword [esp + 0x6e8]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x38], eax
call fcn.00455490
mov ecx, dword [0x4a4140]
mov edx, ecx
dec edx
mov dword [0x4a4140], edx
mov edx, dword [0x4a97c4]
mov edi, edx
dec edi
mov dword [0x4a97c4], edi
and edx, 0x903dc087
xor ecx, edx
mov edx, dword [0x4af040]
imul edx, ecx
mov dword [0x4af040], edx
mov ecx, dword [esp + 0x6f8]
mov dword [esp + 0x34], eax
call fcn.0042ec20
mov eax, dword [0x4adc64]
add eax, 0x5518d6b8
mov dword [0x4adc64], eax
mov byte [esp + 0x17c], 0
mov eax, dword [0x4aa528]
and eax, 0x105324ed
mov dword [0x4aa528], eax
mov eax, dword [0x4995e8]
mov ecx, esp
lea edx, [esp + 0x52]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x12a
mov dword [ecx], 0
call eax
sub esp, 0xc
mov si, word [0x49e26e]
mov cx, si
dec ecx
mov si, cx
mov word [0x49e26e], si
movsx ecx, si
mov edx, dword [0x4a2e70]
or ecx, edx
or ecx, 0xb21608c3
mov dword [0x4a2e70], ecx
mov byte [esp + 0x5a3], 0
mov ecx, dword [0x4a165c]
mov edx, ecx
inc edx
mov dword [0x4a165c], edx
and ecx, 0x4cdc6102
mov edx, dword [0x4a8284]
mov edi, edx
dec edi
mov dword [0x4a8284], edi
or edx, 0xaefefffe
mov edi, dword [0x4a2470]
inc edi
mov dword [0x4a2470], edi
or edx, edi
cmp ecx, edx
mov dword [esp + 0x30], eax
je 0x423f6a
mov eax, dword [0x4a97dc]
sar eax, 8
xor eax, 0xa48400
or eax, 0x30516377
mov ecx, dword [0x4ab4bc]
xor ecx, eax
mov dword [0x4ab4bc], ecx
mov eax, esp
mov dword [eax + 4], 0x15
mov dword [eax], 0x7c8d
call fcn.00403e20
mov dword [esp + 0x6ec], eax
mov cx, word [0x49a688]
movsx eax, cx
mov edx, dword [0x4a2094]
xor eax, edx
xor eax, 0x12207382
mov dword [0x4a2094], eax
mov eax, dword [0x4b1bcc]
mov edx, dword [0x4b1bb4]
mov esi, dword [esp + 0x6ec]
mov edi, esp
mov dword [edi + 0x10], eax
mov dword [edi + 0xc], edx
lea eax, [esp + 0x52]
mov dword [edi + 8], eax
mov dword [edi + 4], esi
lea edx, [esp + 0x17d]
mov dword [edi], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
call fcn.0045505f
mov edx, dword [0x4aeb88]
add edx, 0x94ad1906
and edx, 0x17b9d236
mov esi, dword [0x4a93a0]
imul esi, edx
mov dword [0x4a93a0], esi
mov edx, dword [esp + 0x6ec]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x15
mov dword [esp + 0x24], eax
call fcn.0040f650
mov eax, dword [0x4acf1c]
or eax, 0x806cc88c
mov dword [0x4acf1c], eax
mov eax, dword [0x4b1bcc]
mov edx, esp
mov dword [edx], eax
call fcn.00428290
mov cx, word [0x49fdbe]
movsx edx, cx
mov esi, dword [0x4ac670]
xor esi, edx
mov dword [0x4ac670], esi
mov edx, esp
mov esi, dword [esp + 0x2c]
mov dword [edx + 4], esi
lea edi, [esp + 0x5aa]
mov dword [edx], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
call fcn.00410c10
mov eax, dword [0x4a68b4]
add eax, 0x8cf13d66
mov dword [0x4a68b4], eax
mov eax, esp
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
mov dword [eax + 4], 0x427
call fcn.00448fa0
mov eax, dword [0x4a505c]
mov edx, eax
inc edx
mov dword [0x4a505c], edx
and eax, 0xc4312a7a
mov edx, dword [0x4a1738]
imul edx, eax
mov dword [0x4a1738], edx
mov eax, esp
mov edx, dword [esp + 0x28]
mov dword [eax], edx
mov dword [eax + 4], 0x12b
call fcn.00448fa0
mov eax, dword [0x4a3e24]
xor eax, 0xa258ced2
mov edx, dword [0x4a4370]
and edx, eax
mov dword [0x4a4370], edx
mov eax, dword [0x499644]
mov edx, esp
mov dword [edx], 0x1610e
call eax
sub esp, 4
mov eax, dword [0x4a40c4]
or eax, 0x880200
mov dword [0x4a40c4], eax
mov eax, dword [0x499594]
mov edx, esp
mov esi, dword [esp + 0x1c]
mov dword [edx], esi
call eax
sub esp, 4
mov cx, word [0x499d76]
mov dx, cx
and edx, 0x85e7
mov cx, dx
mov word [0x499d76], cx
mov dword [esp + 0x18], eax
mov eax, 0xa0265b2b
mov ecx, dword [0x4aaf0c]
add ecx, 0xa31156b7
or ecx, 0xc4325ee2
mov edx, dword [0x4a9fb8]
and edx, ecx
mov dword [0x4a9fb8], edx
mov ecx, esp
lea edx, [esp + 0x5aa]
mov dword [ecx], edx
mov dword [ecx + 4], 0x13e
mov dword [esp + 0x14], eax
call fcn.00448fa0
mov si, word [0x4a01bc]
movsx eax, si
sar eax, 1
and eax, 0x7e6a007d
xor eax, 0x399482de
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jle 0x42419f
mov dword [0x4adc88], 0xdfc03fb5
jmp 0x4241ae
mov eax, dword [0x4a2dd0]
or eax, 0x92b7b6e0
mov dword [0x4a8b58], eax
jmp 0x4241b3
mov ax, word [0x4a0f64]
mov cx, ax
xor ecx, 0x2350
mov ax, cx
mov word [0x4a0f64], ax
add esp, 0x6fc
pop esi
pop edi
ret