Function at 0x412380
Capabilities:
Write file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x754
mov eax, dword [esp + 0x764]
mov dword [esp + 0x750], eax
mov eax, dword [0x49aaec]
not eax
imul eax, eax, 0x231ccc27
and eax, 0xa793e1a6
mov dword [0x49f404], eax
mov eax, dword [esp + 0x750]
mov ecx, eax
call fcn.00432fe0
cmp eax, 0x8045
jbe 0x412ac4
mov eax, 0x4efc7e63
mov dword [0x49bf04], 0xfe236a27
mov cx, word [0x4a4fb2]
mov dx, cx
xor edx, 0xbed7
mov cx, dx
mov word [0x4a4fb2], cx
mov cx, word [0x4a4786]
movsx edx, cx
imul edx, edx, 0x367b5106
xor edx, 0x91d73b58
mov esi, dword [0x49af24]
and esi, edx
mov dword [0x49af24], esi
mov edx, dword [0x49a7f0]
and edx, 0x9280
mov cx, word [0x4a2d7c]
mov si, cx
add esi, edx
mov cx, si
mov word [0x4a2d7c], cx
mov edx, esp
lea esi, [esp + 0x5e3]
mov dword [edx], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], esi
call fcn.0040ff30
mov dword [esp + 0x5dc], eax
mov eax, dword [0x49e6a0]
mov edx, eax
dec edx
mov dword [0x49e6a0], edx
mov edx, dword [0x49ac0c]
and edx, eax
mov dword [0x49ac0c], edx
call fcn.00420610
movzx edx, al
and edx, 3
add edx, 7
mov esi, dword [esp + 0x5dc]
lea esi, [esp + esi + 0x5e3]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
call fcn.00404b60
mov edx, dword [0x49d1a0]
inc edx
mov dword [0x49d1a0], edx
mov cx, dx
mov word [0x4a34f0], cx
mov edx, esp
mov dword [edx + 4], 5
mov dword [edx], 0x714d
call fcn.0042bee0
mov dword [esp + 0x74c], eax
mov cx, word [0x4a2f8c]
mov ax, cx
inc eax
mov bx, ax
mov word [0x4a2f8c], bx
movsx eax, cx
mov edx, dword [0x49ffac]
sub edx, eax
mov dword [0x49ffac], edx
mov eax, dword [esp + 0x74c]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [edx], eax
call fcn.00454b00
mov edx, dword [0x4a1278]
mov esi, edx
dec esi
mov dword [0x4a1278], esi
imul edx, edx, 0x62c4efe2
mov esi, dword [0x4992b8]
shl esi, 5
and edx, esi
mov cx, dx
mov word [0x4a39d8], cx
mov edx, esp
mov dword [edx + 4], 3
mov dword [edx], 0x180a
mov dword [esp + 0x40], eax
call fcn.0042bee0
mov dword [esp + 0x748], eax
mov dword [0x49fc6c], 0xc4a646f9
mov eax, dword [esp + 0x74c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 5
call fcn.00443120
mov cx, word [0x4a3882]
mov ax, cx
or eax, 0x646e
mov cx, ax
mov word [0x4a3882], cx
mov eax, dword [esp + 0x748]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [edx], eax
call fcn.00454e54
mov dword [esp + 0x740], eax
mov eax, dword [0x49fdcc]
xor eax, 0x38b57fba
mov dword [0x49fdcc], eax
mov eax, dword [esp + 0x748]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 3
call fcn.00443120
mov eax, dword [0x49f53c]
xor eax, 0xffffffff
imul eax, eax, 0xed70764a
imul eax, eax, 0xb8264b32
mov edx, dword [esp + 0x48]
cmp edx, eax
je 0x41261a
mov ax, word [0x4a2af0]
movsx ecx, ax
shl ecx, 4
add ecx, 0x2e664500
xor ecx, 0x4f2cd6e6
mov edx, dword [0x4992d0]
sub edx, ecx
mov dword [0x4992d0], edx
jmp 0x412629
mov eax, dword [0x4998a0]
add eax, 0x5b1049fe
mov dword [0x4998a0], eax
cmp dword [esp + 0x740], 0
je 0x412a84
mov eax, dword [0x49bf5c]
or eax, 0x933cae47
mov dword [0x49bf5c], eax
mov eax, dword [0x499b7c]
or eax, 0x5020210e
mov ecx, dword [0x49bc7c]
sub ecx, eax
mov dword [0x49bc7c], ecx
mov eax, dword [esp + 0x740]
mov ecx, dword [esp + 0x750]
mov dword [esp + 0x3c], eax
call fcn.00432fe0
mov ecx, dword [esp + 0x750]
mov dword [esp + 0x38], eax
call fcn.0042be00
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.00455007
mov ecx, dword [0x49bb30]
add ecx, 0xa5cf2f7c
mov dword [0x49bb30], ecx
mov ecx, dword [esp + 0x740]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x34], eax
call fcn.004550f5
mov si, word [0x4a1ab0]
mov cx, si
inc ecx
mov di, cx
mov word [0x4a1ab0], di
movsx ecx, si
add ecx, 0xc4298235
mov edx, dword [0x49ad18]
add edx, 0x9338c4f8
cmp ecx, edx
mov dword [esp + 0x30], eax
je 0x412713
mov eax, dword [0x49e364]
and eax, 0x53bf23ba
mov dword [0x49e364], eax
jmp 0x412736
mov eax, dword [0x4a0454]
mov ecx, dword [0x4a0e58]
imul ecx, ecx, 0xafa6887b
xor eax, ecx
not eax
mov ecx, dword [0x49cc48]
or ecx, eax
mov dword [0x49cc48], ecx
mov ecx, dword [esp + 0x750]
call fcn.00410500
mov ax, word [0x4a1320]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4a1320], dx
movsx ecx, ax
add ecx, 0x96e645ca
mov esi, dword [0x49b71c]
and esi, ecx
mov dword [0x49b71c], esi
mov byte [esp + 0x195], 0
mov ecx, dword [0x49d5e8]
add ecx, 0x29856ed
mov dword [0x49d5e8], ecx
mov ecx, dword [0x4986a8]
mov esi, esp
lea edi, [esp + 0x4c]
mov dword [esi + 4], edi
mov dword [esi + 8], 0x149
mov dword [esi], 0
call ecx
sub esp, 0xc
mov dword [0x49c360], 0x930e3252
mov byte [esp + 0x5db], 0
mov ecx, dword [0x499788]
mov esi, ecx
inc esi
mov dword [0x499788], esi
cmp ecx, 0x2e6b224b
mov dword [esp + 0x2c], eax
jl 0x4127e8
mov eax, dword [0x49bbe4]
and eax, 0x3ab61fbe
mov dword [0x49bbe4], eax
mov eax, 0x440a50b5
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x642c
mov dword [esp + 0x28], eax
call fcn.0042bee0
mov dword [esp + 0x744], eax
mov eax, dword [0x49fb2c]
inc eax
mov dword [0x49fb2c], eax
imul eax, eax, 0x55042591
or eax, 0x26566576
mov ecx, dword [esp + 0x28]
cmp ecx, eax
jne 0x412889
mov eax, dword [0x49b9a0]
mov ecx, eax
dec ecx
mov dword [0x49b9a0], ecx
xor eax, 0x90f1f819
mov ecx, dword [0x4a108c]
sar ecx, 7
or ecx, 0xa00bd93
cmp eax, ecx
jge 0x412884
mov eax, 0x6f9ad151
mov ecx, dword [0x49c8f4]
mov edx, ecx
dec edx
mov dword [0x49c8f4], edx
xor ecx, 0x951bd834
cmp eax, ecx
je 0x41287f
jmp 0x41287f
jmp 0x412884
jmp 0x412889
mov eax, dword [0x4a620c]
mov ecx, dword [0x4a61f4]
mov edx, dword [esp + 0x744]
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 + 0x196]
mov dword [esi], eax
call fcn.00454a43
mov ecx, dword [0x49f74c]
mov edx, dword [0x49e8d0]
sub edx, ecx
mov dword [0x49e8d0], edx
mov ecx, dword [esp + 0x744]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x24], eax
call fcn.00443120
mov eax, dword [0x49d86c]
xor eax, 0xffffffff
sub eax, 0xcb7b7f2
or eax, 0x6a1212c6
cmp eax, 0x7fecff37
jne 0x412916
mov eax, dword [0x498b7c]
add eax, 0xddfe7b90
mov dword [0x498b7c], eax
mov eax, 0x22522210
mov ecx, dword [0x4a620c]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x20], eax
call fcn.00413050
mov ecx, dword [0x49ddd0]
xor ecx, 0x8090c88
mov dword [0x49ddd0], ecx
mov ecx, esp
lea edx, [esp + 0x196]
mov dword [ecx + 4], edx
lea esi, [esp + 0x5e3]
mov dword [ecx], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
call fcn.00421950
mov eax, dword [0x49ac6c]
imul eax, eax, 0x2d22b1d5
mov dword [0x49ac6c], eax
mov eax, esp
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], 0x446
call fcn.00442fe0
mov eax, dword [0x49de64]
mov ecx, dword [0x4a01bc]
lea eax, [ecx + eax*4 - 0x59780536]
mov dword [0x4a01bc], eax
mov eax, esp
lea ecx, [esp + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], 0x14a
call fcn.00442fe0
mov eax, dword [0x49f88c]
dec eax
mov dword [0x49f88c], eax
or eax, 0x6720f1c1
mov ecx, dword [esp + 0x20]
cmp ecx, eax
je 0x4129f0
mov ax, word [0x4a2f36]
mov cx, ax
xor ecx, 0x2152
mov ax, word [0x4a3c0c]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x4a3c0c], ax
mov eax, dword [0x498704]
mov ecx, esp
mov dword [ecx], 0x164da
call eax
sub esp, 4
mov eax, dword [0x4a0354]
mov ecx, eax
dec ecx
mov dword [0x4a0354], ecx
mov dx, word [0x4a39dc]
movsx ecx, dx
shl ecx, 7
cmp eax, ecx
jge 0x412a39
mov eax, dword [0x4a11e0]
and eax, 0xc15b2220
mov dword [0x4a11e0], eax
jmp 0x412a48
mov eax, dword [0x49c94c]
add eax, 0x37adbd4b
mov dword [0x49c94c], eax
mov eax, dword [0x498654]
mov ecx, esp
lea edx, [esp + 0x5e3]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x49cc08]
mov edx, ecx
inc edx
mov dword [0x49cc08], edx
mov edx, dword [0x4a07ec]
or ecx, edx
or ecx, 0x60e28d46
mov dword [0x4a07ec], ecx
mov dword [esp + 0x14], eax
mov eax, dword [0x49dfe0]
xor eax, 0xe85049af
mov dword [0x49dfe0], eax
mov eax, esp
lea ecx, [esp + 0x5e3]
mov dword [eax], ecx
mov dword [eax + 4], 0x15d
call fcn.00442fe0
mov eax, dword [0x49b284]
inc eax
mov dword [0x49b284], eax
mov ecx, dword [0x499e34]
imul ecx, eax
mov dword [0x499e34], ecx
mov eax, dword [0x49cd3c]
add eax, 0xbf024513
mov dword [0x49cd3c], eax
add esp, 0x754
pop esi
pop edi
pop ebx
ret