Function at 0x43eb20
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x690
mov eax, dword [esp + 0x69c]
mov dword [esp + 0x68c], eax
mov eax, dword [0x487c2c]
sar eax, 6
mov ecx, dword [0x4880d8]
xor eax, ecx
xor eax, 0x21217063
mov dword [0x4880d8], eax
mov eax, dword [esp + 0x68c]
mov ecx, eax
call fcn.00411270
cmp eax, 0x8000
jbe 0x43f34c
mov eax, 0x3fa952a4
mov ecx, dword [0x488c74]
add ecx, 0x1b3b9b40
mov dx, cx
mov word [0x490eb0], dx
mov dx, word [0x491e14]
movsx ecx, dx
imul ecx, ecx, 0xfea384b0
cmp eax, ecx
jne 0x43ebb9
mov ax, word [0x4908c8]
mov cx, ax
and ecx, 0x1667
mov ax, cx
mov word [0x4908c8], ax
jmp 0x43ebda
mov eax, dword [0x485b08]
imul eax, eax, 0xaacd6d60
mov cx, word [0x48eafe]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x48eafe], cx
mov eax, 0xcbad672b
mov ecx, dword [0x4865a4]
add ecx, 0x5e5a25c4
mov dx, word [0x48e99c]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x48e99c], dx
mov ecx, dword [0x481db0]
shl ecx, 5
or ecx, 0x274395af
mov dword [0x485404], ecx
mov ecx, esp
lea esi, [esp + 0x564]
mov dword [ecx], esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], esi
call fcn.004400c0
mov dword [esp + 0x560], eax
mov dx, word [0x4900dc]
mov ax, dx
inc eax
mov dx, ax
mov word [0x4900dc], dx
movsx eax, dx
mov ecx, dword [0x4882c8]
and ecx, eax
mov dword [0x4882c8], ecx
call fcn.0044ff80
movzx ecx, al
and ecx, 3
add ecx, 7
mov esi, dword [esp + 0x560]
lea esi, [esp + esi + 0x564]
mov edi, esp
mov dword [edi + 4], ecx
mov dword [edi], esi
call fcn.00432380
mov ecx, dword [0x4889e4]
or ecx, 0xe70ffd0a
mov dword [0x4889e4], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x518e
call fcn.0044b9d0
mov dword [esp + 0x688], eax
mov dword [0x488830], 0xa727ae6d
mov eax, dword [esp + 0x688]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ecx], eax
call fcn.00456160
mov ecx, dword [0x4834fc]
and ecx, 0xfd8d5586
mov esi, dword [esp + 0x54]
cmp esi, ecx
mov dword [esp + 0x4c], eax
jl 0x43ed3e
mov eax, 0x4706678
mov cx, word [0x48e43c]
mov dx, cx
dec edx
mov si, dx
mov word [0x48e43c], si
movsx edx, cx
mov edi, dword [0x483064]
imul edx, edi
or edx, 0x30e0fe21
cmp eax, edx
jl 0x43ed39
mov ax, word [0x4931ea]
mov cx, ax
and ecx, 0xffde
mov ax, cx
mov word [0x4931ea], ax
jmp 0x43ed3e
mov eax, 0xc5836d93
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x1c4
mov dword [esp + 0x48], eax
call fcn.0044b9d0
mov dword [esp + 0x684], eax
mov eax, dword [0x4848bc]
shl eax, 2
and eax, 0x181b1768
mov ecx, dword [0x48c9b0]
sub ecx, eax
mov dword [0x48c9b0], ecx
mov eax, dword [esp + 0x688]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041e2a0
mov dx, word [0x4939dc]
movsx eax, dx
shl eax, 8
add eax, 0x2e6f16d3
and eax, 0xd8105201
mov ecx, dword [0x489b7c]
add ecx, eax
mov dword [0x489b7c], ecx
mov eax, dword [esp + 0x684]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x564]
mov dword [ecx], eax
call fcn.00456995
mov dword [esp + 0x67c], eax
mov eax, dword [0x48215c]
inc eax
mov dword [0x48215c], eax
mov ecx, dword [esp + 0x48]
cmp ecx, eax
je 0x43ee43
mov eax, 0xe0fd8ba2
mov ecx, dword [0x4848bc]
dec ecx
mov dword [0x4848bc], ecx
mov edx, dword [0x48d408]
and edx, 0xa56bc840
xor ecx, edx
cmp eax, ecx
jle 0x43ee3e
mov eax, dword [0x48748c]
shl eax, 8
mov ecx, dword [0x48b61c]
dec ecx
mov dword [0x48b61c], ecx
or eax, ecx
mov ecx, dword [0x48ab30]
add ecx, eax
mov dword [0x48ab30], ecx
jmp 0x43ee68
mov ax, word [0x49273c]
mov cx, ax
shl ecx, 9
mov ax, word [0x494044]
mov dx, ax
lea ecx, [ecx + edx - 0x161cb371]
mov ax, cx
mov word [0x494044], ax
mov eax, dword [esp + 0x684]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0041e2a0
mov dword [0x4848f4], 0x7df76eda
cmp dword [esp + 0x67c], 0
je 0x43f30b
mov eax, 0xa465556a
mov ecx, dword [0x48d314]
dec ecx
mov dword [0x48d314], ecx
imul ecx, ecx, 0x85947040
cmp eax, ecx
jl 0x43eeee
mov eax, 0x76bdfffe
mov ecx, dword [0x48a690]
xor ecx, 0xffeda4b7
cmp eax, ecx
jl 0x43eedf
mov dword [0x483294], 0x6c38f9c5
jmp 0x43eee9
mov dword [0x484f14], 0x44b4b2bf
jmp 0x43ef07
mov eax, dword [0x4886d0]
imul eax, eax, 0xc01f4bb1
mov ecx, dword [0x48885c]
xor ecx, eax
mov dword [0x48885c], ecx
mov eax, 0x78a57415
mov ecx, dword [0x487d50]
add ecx, 0x95a9fb5a
xor ecx, 0xd98f246c
mov edx, dword [0x485554]
dec edx
mov dword [0x485554], edx
sub eax, edx
and eax, 0xfb6cd656
cmp ecx, eax
jne 0x43ef4d
mov eax, dword [0x48b044]
mov ecx, dword [0x48387c]
xor ecx, eax
mov dword [0x48387c], ecx
mov eax, 0x9fb97baa
mov ecx, dword [esp + 0x67c]
mov edx, dword [esp + 0x68c]
mov dword [esp + 0x44], ecx
mov ecx, edx
mov dword [esp + 0x40], eax
call fcn.00411270
mov ecx, dword [esp + 0x68c]
mov dword [esp + 0x3c], eax
call fcn.00450900
mov ecx, esp
mov edx, dword [esp + 0x44]
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.00456b48
mov ecx, dword [0x482498]
mov edx, dword [0x48b834]
dec edx
mov dword [0x48b834], edx
and ecx, edx
and ecx, 0x8e66f2e9
mov edx, dword [esp + 0x40]
cmp edx, ecx
mov dword [esp + 0x38], eax
jge 0x43efd8
mov eax, dword [0x482b60]
imul eax, eax, 0x80499d85
mov dword [0x482b60], eax
mov eax, dword [esp + 0x67c]
mov ecx, esp
mov dword [ecx], eax
call fcn.00456c36
mov ecx, dword [0x48d320]
add ecx, 0x58d26623
mov dx, word [0x492fd8]
mov si, dx
inc esi
mov di, si
mov word [0x492fd8], di
movsx esi, dx
cmp ecx, esi
mov dword [esp + 0x34], eax
jle 0x43f03b
mov ax, word [0x48f4ee]
movsx ecx, ax
imul ecx, ecx, 0xff2de7ea
add ecx, 0x98829b82
mov edx, dword [0x48dbec]
sub edx, ecx
mov dword [0x48dbec], edx
mov eax, 0x7fb15d5d
mov ecx, dword [esp + 0x68c]
mov dword [esp + 0x30], eax
call fcn.00450870
mov dword [0x481b84], 0x9cdd7f00
mov byte [esp + 0x15e], 0
mov eax, dword [0x48db58]
add eax, 0xef9d7fff
mov dword [0x48db58], eax
mov eax, dword [0x4815e8]
mov ecx, esp
lea edx, [esp + 0x5a]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x104
mov dword [ecx], 0
mov dword [esp + 0x2c], edx
call eax
sub esp, 0xc
mov ecx, dword [0x48d39c]
xor ecx, 0x4307e7ea
mov dword [0x48d39c], ecx
mov byte [esp + 0x55f], 0
mov ecx, dword [0x4825a8]
xor ecx, 0x8a2b7822
or ecx, 0x34d08254
mov edx, dword [0x48ac0c]
xor edx, ecx
mov dword [0x48ac0c], edx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x8e6
mov dword [esp + 0x28], eax
call fcn.0044b9d0
mov dword [esp + 0x680], eax
mov eax, dword [0x48cdc4]
or eax, 0x552478bc
mov dword [0x48cdc4], eax
mov eax, dword [0x49490c]
mov ecx, dword [0x4948f4]
mov edx, dword [esp + 0x680]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
mov eax, dword [esp + 0x2c]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea ecx, [esp + 0x15f]
mov dword [esi], ecx
call fcn.004563de
mov ecx, dword [0x48a980]
mov edx, ecx
inc edx
mov dword [0x48a980], edx
mov edx, dword [0x489438]
xor edx, ecx
mov dword [0x489438], edx
mov ecx, dword [esp + 0x680]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x24], eax
call fcn.0041e2a0
mov eax, dword [0x489334]
xor eax, 0xffffffff
imul eax, eax, 0x92ae773c
add eax, 0x255eb640
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jl 0x43f1a3
mov ax, word [0x48f200]
mov cx, ax
xor ecx, 0x10ca
mov ax, cx
mov word [0x48f200], ax
jmp 0x43f1d3
mov eax, 0x40bc6645
mov ecx, dword [0x48d440]
mov edx, dword [0x48216c]
imul ecx, edx
cmp eax, ecx
jge 0x43f1ce
mov eax, dword [0x483888]
add eax, 0x5e14b95c
mov dword [0x483888], eax
jmp 0x43f1d3
mov eax, dword [0x49490c]
mov ecx, esp
mov dword [ecx], eax
call fcn.0044b430
mov dx, word [0x48ec90]
movsx ecx, dx
xor ecx, 0x31a63fa9
mov esi, dword [0x48aa48]
sub esi, ecx
mov dword [0x48aa48], esi
mov ecx, esp
lea esi, [esp + 0x15f]
mov dword [ecx + 4], esi
lea edi, [esp + 0x564]
mov dword [ecx], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
call fcn.0041e9c0
mov eax, dword [0x487938]
mov ecx, dword [0x48da50]
sar ecx, 3
sub eax, ecx
mov ecx, dword [0x48b0e4]
or ecx, eax
mov dword [0x48b0e4], ecx
mov eax, esp
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], 0x401
call fcn.0041bac0
mov eax, dword [0x489790]
shl eax, 5
mov ecx, 0xf1230bfc
sub ecx, eax
mov dword [0x484b4c], ecx
mov eax, esp
lea ecx, [esp + 0x5a]
mov dword [eax], ecx
mov dword [eax + 4], 0x105
call fcn.0041bac0
mov dx, word [0x49009c]
mov ax, dx
and eax, 0x4335
mov dx, ax
mov word [0x49009c], dx
mov eax, dword [0x481644]
mov ecx, esp
mov dword [ecx], 0x15f90
call eax
sub esp, 4
mov eax, dword [0x48db00]
mov ecx, dword [0x48835c]
or ecx, eax
mov dword [0x48835c], ecx
mov eax, dword [0x481594]
mov ecx, esp
mov esi, dword [esp + 0x1c]
mov dword [ecx], esi
call eax
sub esp, 4
mov ecx, dword [0x481f50]
and ecx, 0xd9605be1
cmp ecx, 0xe89c4073
mov dword [esp + 0x14], eax
je 0x43f306
mov eax, dword [0x481b48]
inc eax
mov dword [0x481b48], eax
mov ecx, dword [0x486ae0]
imul ecx, eax
mov dword [0x486ae0], ecx
jmp 0x43f30b
mov ax, word [0x493eec]
mov cx, ax
imul ecx, ecx, 0xecd8b55c
mov ax, cx
mov word [0x493eec], ax
mov ecx, esp
lea edx, [esp + 0x564]
mov dword [ecx], edx
mov dword [ecx + 4], 0x118
call fcn.0041bac0
mov ecx, dword [0x4855f8]
or ecx, 0xfadebb3e
mov dword [0x4855f8], ecx
mov ax, word [0x492e6c]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x492e6c], ax
mov ax, word [0x492a6c]
mov dx, ax
lea ecx, [ecx + edx - 0xe2d7d8c]
mov ax, word [0x48efe4]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x48efe4], ax
add esp, 0x690
pop esi
pop edi
ret