Function at 0x449d50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1670
call fcn.0046da50
mov edi, ecx
mov ecx, dword [edx + 0xec]
mov dword [esp + 0x18], edx
cmp dword [ecx + 0x5c], 0
mov dword [esp + 0x14], ecx
setne al
cmp dword [ecx + 0x18], 0
setne bl
and bl, al
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edx
push 0x17
call fcn.004385c2
pop ecx
test eax, eax
je 0x449dda
cmp dword [eax], 6
jne 0x449dda
mov dword [esp + 0xc], edi
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
push 5
pop ecx
push edi
push esi
call fcn.0042fe4f
pop ecx
pop edx
mov cx, 5
test bl, al
jne 0x449e2c
push 4
pop ecx
push edi
push esi
call fcn.0042fe4f
pop ecx
pop edx
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push 0xf
jmp 0x449e16
mov eax, dword [ebp + 0xc]
movzx edx, word [eax + 0x26]
mov ecx, dword [eax + 0x24]
call fcn.0043305c
mov esi, eax
push 4
pop ecx
call fcn.0043305c
cmp si, ax
jae 0x449e01
mov edx, dword [ebp + 0x14]
mov ecx, edi
push 0xe
jmp 0x449e16
mov cx, 4
test bl, bl
mov dword [esp + 0xc], edi
je 0x449e2c
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push 0xd
push 0x13
call fcn.0043e41d
pop eax
pop ecx
mov edi, dword [esp + 0x18]
mov bl, 1
mov bh, 1
jmp 0x44a58c
mov eax, dword [ebp + 0x14]
mov word [esp + 0x50], cx
mov word [eax + 0x9c], cx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
lea edx, [eax + ecx*4]
lea ecx, [esp + 0xea8]
mov dword [ecx], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
call fcn.0042eb62
test eax, eax
je 0x449f05
lea edi, [esp + 0x270]
mov esi, eax
mov ecx, edi
call fcn.0042e9f7
mov eax, dword [edi + 4]
mov dword [eax], esi
lea eax, [esp + 0x7d0]
movsd xmm0, qword [edi]
mov ecx, dword [esp + 0xeb0]
mov dword [eax + 8], 1
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0xea8]
mov dword [edi + 8], ecx
movsd qword [edi], xmm0
mov ecx, edi
call fcn.0042eb62
test eax, eax
je 0x449ee6
mov ebx, dword [esp + 0x7d8]
mov esi, eax
cmp ebx, dword [esp + 0x7d0]
jne 0x449ed2
lea ecx, [esp + 0x7d0]
call fcn.0042ea28
mov eax, dword [esp + 0x7d4]
mov dword [eax + ebx*4], esi
inc ebx
mov dword [esp + 0x7d8], ebx
jmp 0x449ea9
mov eax, dword [esp + 0x7d0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7d4]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x7d8]
jmp 0x449f16
push 4
pop eax
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x60], 0
push 4
pop ecx
mov esi, dword [ebp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esi + 8]
and dword [esi + 8], 0
mov dword [esp + 0x270], esi
mov dword [esp + 0x27c], edx
mov dword [esp + 4], edx
sub edx, 1
setb bl
jb 0x449f45
test eax, eax
jne 0x449f39
xor edx, edx
inc edx
test bl, bl
cmovne edx, dword [esp + 4]
xor bl, 1
movzx esi, bl
cmp dword [esp + 4], edx
je 0x449f7b
test eax, eax
je 0x449f77
mov ecx, dword [ebp + 8]
lea ebx, [esi*4]
mov edi, dword [ecx + 4]
lea edi, [edi + edx*4]
mov ecx, dword [edi]
sub edi, ebx
mov dword [edi], ecx
jmp 0x449f78
inc esi
inc edx
jmp 0x449f55
mov eax, dword [esp + 4]
lea ecx, [esp + 0x270]
mov dword [ecx + 8], esi
mov dword [ecx + 4], eax
call fcn.0042ecba
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
lea edi, [eax + 0x24]
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 4]
mov esi, dword [eax + 8]
call fcn.00438624
mov ecx, dword [ebp + 0xc]
mov edx, eax
mov dword [esp + 0x34], edi
mov eax, dword [ecx + 4]
lea ecx, [esp + 0x10d8]
mov dword [ecx], edi
mov edi, dword [ebp + 0xc]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], esi
mov esi, dword [esp + 0x14]
mov dword [ecx + 0x14], edx
mov dword [ecx + 0xc], eax
mov dword [esp + 8], eax
mov edi, dword [edi + 8]
mov dword [ecx + 0x10], edi
mov dword [esp + 0x10], edi
mov eax, dword [esi + 0x48]
mov esi, dword [esi + 0x44]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea edx, [esi + edx + 8]
push ecx
push edx
call dword [eax + 0xc]
add esp, 8
test eax, eax
je 0x44a013
mov esi, eax
mov dword [esp + 0x7d4], eax
mov byte [esp + 0x7d0], 0x14
jmp 0x44a05b
lea esi, [esp + 0x274]
mov edx, str.no_server_certificate_chain_resolved0
mov ecx, esi
push 0x24
call fcn.0041afd7
pop eax
mov edx, dword [ebp + 0x14]
mov byte [esi - 4], 0xd
lea esi, [esp + 0x7d0]
lea eax, [esp + 0x270]
mov ecx, esi
push eax
push 0xf
call fcn.0043de50
pop eax
pop ecx
mov al, byte [esi]
cmp al, 0x14
jne 0x44a4c6
mov esi, dword [esp + 0x7d4]
lea ecx, [esi + 0x14]
mov dword [esp + 0x80], esi
call fcn.0042e44c
lea ecx, [esi + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x94], edx
call fcn.0042e44c
mov ecx, dword [esi + 0x30]
mov dword [esp + 0x78], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x7c], esi
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [eax + edx + 8]
mov edx, dword [esp + 0x14]
mov ebx, dword [edx + 0x14]
mov esi, dword [edx + 0x18]
push eax
call dword [ecx + 0x10]
add esp, 4
test esi, esi
je 0x44a151
mov eax, dword [ebx]
lea edi, [esp + 0x270]
mov ecx, edi
mov dword [esp + 4], eax
call fcn.0042e9f7
mov eax, dword [edi + 4]
mov ecx, dword [esp + 4]
add ebx, 4
lea esi, [esi*4 - 4]
mov dword [eax], ecx
lea eax, [esp + 0x7d0]
mov ecx, ebx
movsd xmm0, qword [edi]
mov dword [eax + 8], 1
movsd qword [eax], xmm0
test esi, esi
je 0x44a136
mov edi, dword [esp + 0x7d8]
mov ebx, dword [ecx]
cmp edi, dword [esp + 0x7d0]
jne 0x44a11c
mov dword [esp + 4], ecx
lea ecx, [esp + 0x7d0]
call fcn.0042ea28
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x7d4]
add esi, 0xfffffffc
add ecx, 4
mov dword [eax + edi*4], ebx
inc edi
mov dword [esp + 0x7d8], edi
jmp 0x44a0f2
mov eax, dword [esp + 0x7d0]
mov edx, dword [esp + 0x7d4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x7d8]
jmp 0x44a15e
push 4
pop edx
xor eax, eax
mov dword [esp + 0x5c], 0
movzx ecx, word [esp + 0x50]
lea esi, [esp + 0x10f0]
lea eax, [edx + eax*4]
mov dword [esp + 0x50], edx
mov word [esi], cx
lea ecx, [esp + 0xea8]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
call fcn.0042e71b
test eax, eax
je 0x44a22e
lea edi, [esp + 0x270]
mov esi, eax
mov ecx, edi
call fcn.0042e9f7
mov eax, dword [edi + 4]
mov dword [eax], esi
lea eax, [esp + 0x7d0]
movsd xmm0, qword [edi]
mov ecx, dword [esp + 0xeb0]
mov dword [eax + 8], 1
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0xea8]
mov dword [edi + 8], ecx
movsd qword [edi], xmm0
mov ecx, edi
call fcn.0042e71b
test eax, eax
je 0x44a20f
mov ebx, dword [esp + 0x7d8]
mov esi, eax
cmp ebx, dword [esp + 0x7d0]
jne 0x44a1fb
lea ecx, [esp + 0x7d0]
call fcn.0042ea28
mov eax, dword [esp + 0x7d4]
mov dword [eax + ebx*4], esi
inc ebx
mov dword [esp + 0x7d8], ebx
jmp 0x44a1d2
mov eax, dword [esp + 0x7d0]
mov ecx, dword [esp + 0x7d4]
mov esi, dword [esp + 0x7d8]
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], ecx
jmp 0x44a238
xor esi, esi
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x68], 0
mov eax, dword [esp + 8]
je 0x44a278
mov ebx, dword [esp + 0x4c]
shl esi, 2
test esi, esi
je 0x44a2d0
mov edi, dword [ebx]
add ebx, 4
movzx edx, word [edi + 2]
mov ecx, dword [edi]
push dword [esp + 0x10]
push eax
call fcn.0042e786
pop ecx
pop edx
add esi, 0xfffffffc
test al, al
mov eax, dword [esp + 8]
je 0x44a24d
jmp 0x44a2f8
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 8]
shl esi, 2
mov dword [esp + 4], esi
lea edx, [edx + eax*4]
mov eax, dword [esp + 8]
mov dword [esp + 0x10], edx
mov esi, dword [esp + 4]
cmp eax, edx
je 0x44a2d0
lea ecx, [eax + 4]
movzx edx, word [eax]
movzx ebx, word [eax + 2]
mov eax, dword [esp + 0x4c]
test esi, esi
je 0x44a2c8
mov edi, dword [eax]
cmp dx, word [edi]
jne 0x44a2c0
cmp dx, 0x178
jne 0x44a2f8
cmp bx, word [edi + 2]
je 0x44a2f8
add eax, 4
add esi, 0xfffffffc
jmp 0x44a2a8
mov edx, dword [esp + 0x10]
mov eax, ecx
jmp 0x44a292
mov edx, dword [ebp + 0x14]
lea esi, [esp + 0x270]
mov ecx, esi
push 4
push 6
call fcn.0043e41d
pop eax
pop ecx
mov al, byte [esi]
cmp al, 0x14
jne 0x44a517
mov edi, dword [esp + 0x274]
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 0x18]
mov dword [edx + 0xa0], edi
mov ecx, dword [esi + 0xd8]
mov eax, dword [edi + 0xc]
cmp ecx, 0x80000001
mov dword [esp + 4], ecx
sete bl
jne 0x44a32f
lea ecx, [esp + 0x1358]
mov edx, esi
push eax
call fcn.00444ce1
pop eax
jmp 0x44a357
mov ecx, dword [esi + 0xc8]
mov cl, byte [ecx + 0x58]
cmp cl, byte [eax + 0x58]
jne 0x44a506
lea eax, [esp + 0x1358]
push 0xe8
push esi
push eax
call fcn.0046e6e0
add esp, 0xc
lea esi, [esp + 0x270]
mov ecx, esi
call fcn.004383a2
cmp byte [esi], 0
je 0x44a394
cmp dword [esp + 4], 0x80000001
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1430]
mov edx, dword [esp + 0x1434]
setne bh
mov byte [eax], 0xf
call fcn.00403919
jmp 0x44a555
movsd xmm1, qword [esp + 0x281]
lea esi, [esp + 0x1440]
mov eax, dword [ebp + 0xc]
movsd xmm0, qword [esp + 0x289]
movsd xmm2, qword [esp + 0x271]
lea ecx, [esp + 0x168]
movsd qword [esi + 0x30], xmm1
movsd xmm1, qword [esp + 0x279]
movsd qword [esi + 0x20], xmm2
movsd qword [esi + 0x38], xmm0
movsd xmm3, qword [eax + 0x28]
movsd xmm2, qword [eax + 0x38]
movsd qword [esi + 0x28], xmm1
movsd xmm1, qword [eax + 0x30]
movsd qword [esi], xmm3
movsd qword [esi + 0x10], xmm2
movsd qword [esi + 8], xmm1
movsd xmm1, qword [eax + 0x40]
lea eax, [esp + 0x1358]
movsd qword [esi + 0x18], xmm1
push 0xe8
push eax
push ecx
call fcn.0046e6e0
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea ebx, [esp + 0x25c]
mov eax, dword [ecx + 0xf8]
movsd xmm0, qword [ecx + 0xf0]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x14]
movsd qword [ebx], xmm0
mov dword [ebx - 8], eax
mov al, byte [ecx + 0xfc]
mov dword [ebx - 4], edi
mov edi, dword [ecx + 0xe8]
mov byte [esp + 4], al
lea eax, [esp + 0x128]
push 0x40
push esi
push eax
call fcn.0046e6e0
add esp, 0xc
mov ecx, dword [ebp + 8]
mov al, byte [esp + 4]
mov edx, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov ecx, dword [ebp + 0xc]
mov byte [ebx + 0xc], al
mov dword [ebx - 0xc], edi
cmp dword [ecx + 0x14], 1
mov dword [esp + 0x70], edx
movsd qword [esp + 0x68], xmm0
jne 0x44a5ee
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
push 0xa
call fcn.004385c2
pop ecx
mov edi, dword [esp + 0xc]
test eax, eax
je 0x44a605
cmp dword [eax], 1
jne 0x44a605
mov ecx, dword [eax + 8]
mov dword [esp + 0xc], edi
add eax, 0xc
jmp 0x44a630
mov cl, byte [esp + 0x7d3]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x7d4]
mov esi, dword [esp + 0x7d8]
mov bl, 1
mov bh, 1
mov byte [edi + 3], cl
movzx ecx, word [esp + 0x7d1]
mov word [edi + 1], cx
mov ecx, dword [esp + 0x7dc]
mov byte [edi], al
mov dword [edi + 4], edx
mov dword [edi + 8], esi
mov dword [edi + 0xc], ecx
jmp 0x44a57b
mov ecx, dword [esp + 0xc]
push 0xc
push 0xd
call fcn.0043e3c1
pop eax
pop ecx
jmp 0x44a551
mov cl, byte [esp + 0x273]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x27c]
mov edx, dword [esp + 0x274]
mov esi, dword [esp + 0x278]
mov byte [edi + 3], cl
movzx ecx, word [esp + 0x271]
mov word [edi + 1], cx
mov byte [edi], al
mov dword [edi + 4], edx
mov dword [edi + 0xc], ebx
mov dword [edi + 8], esi
mov bl, 1
mov bh, 1
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
call fcn.00430872
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
call fcn.00430872
lea ecx, [esp + 0x80]
call fcn.0044114b
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x18]
call fcn.00430872
mov eax, dword [ebp + 8]
lea esi, [edi + 0xec]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
call fcn.00430d99
mov ecx, esi
call fcn.00404159
lea ecx, [edi + 0xf0]
call fcn.00436a52
mov ecx, dword [edi + 0xd8]
cmp ecx, 0x80000001
jne 0x44a5d6
test bh, bh
je 0x44a99d
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.0041ae6b
jmp 0x44a99d
test bl, bl
je 0x44a99d
mov edx, dword [edi + 0xdc]
call fcn.00403919
jmp 0x44a99d
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push 0x24
push 0xd
call fcn.0043e3c1
pop eax
pop ecx
jmp 0x44a925
mov edx, dword [ebp + 0x14]
lea esi, [esp + 0x270]
mov ecx, esi
push 2
push 6
call fcn.0043e41d
pop eax
pop ecx
mov al, byte [esi]
cmp al, 0x14
jne 0x44a699
lea eax, [esp + 0x278]
mov dword [esp + 0xc], edi
mov ecx, dword [eax - 4]
mov dword [esp + 0x14], ecx
lea edx, [esp + 0x68]
lea ecx, [esp + 0x7d0]
mov eax, dword [eax]
xor ebx, ebx
xor edi, edi
mov dword [ecx], 0x482bb8
mov dword [ecx + 4], 6
mov ecx, dword [edx + 8]
mov esi, dword [edx + 4]
and dword [edx + 8], 0
mov dword [esp + 0x270], edx
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x27c], ecx
cmp dword [esp + 4], edi
je 0x44a6a5
movzx eax, word [esi + edi*4 + 2]
movzx edx, word [esi + edi*4]
lea ecx, [esp + 0x7d0]
push eax
call fcn.004304c1
pop ecx
inc edi
test al, al
jne 0x44a672
xor ebx, ebx
inc ebx
jmp 0x44a6dd
mov cl, byte [esp + 0x273]
jmp 0x44a8f6
mov edi, dword [esp + 4]
jmp 0x44a6dd
mov esi, dword [esp + 0x6c]
lea ecx, [esp + 0x7d0]
movzx eax, word [esi + edi*4 + 2]
movzx edx, word [esi + edi*4]
push eax
call fcn.004304c1
pop ecx
test al, al
je 0x44a6db
mov ecx, dword [esi + edi*4]
lea eax, [ebx*4]
sub esi, eax
mov dword [esi + edi*4], ecx
jmp 0x44a6dc
inc ebx
inc edi
cmp dword [esp + 4], edi
jne 0x44a6ab
mov eax, dword [esp + 4]
lea ecx, [esp + 0x270]
mov dword [ecx + 8], ebx
mov dword [ecx + 4], eax
call fcn.0042ecba
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov edx, ebx
call fcn.00438643
test eax, eax
mov dword [esp + 4], eax
je 0x44a716
mov dword [esp + 8], edx
jmp 0x44a74d
mov edx, dword [ebp + 0x14]
lea esi, [esp + 0x270]
mov ecx, esi
push 1
push 6
call fcn.0043e41d
pop eax
pop ecx
mov al, byte [esi]
cmp al, 0x14
jne 0x44a8eb
mov eax, dword [esp + 0x274]
mov ecx, dword [esp + 0x278]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov edx, ebx
call fcn.00438643
test eax, eax
je 0x44a817
lea ebx, [esp + 0xd88]
mov esi, eax
mov edi, edx
mov ecx, ebx
call fcn.00430e69
mov eax, dword [ebx + 8]
movsd xmm0, qword [0x4846c0]
movsd xmm1, qword [0x4846c8]
shl edi, 4
mov dword [esp + 0x18], eax
lea eax, [esp + 0x270]
mov edx, dword [ebx]
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebx + 4]
movsd qword [eax], xmm0
movsd qword [eax + 8], xmm1
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x18]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x18], edx
test edi, edi
je 0x44a800
movzx edx, word [esi + 0xe]
movzx ecx, word [esi + 0xc]
lea ebx, [esi + 0x10]
call fcn.004330e8
lea ecx, [esp + 0x270]
mov edx, eax
call fcn.00431850
add edi, 0xfffffff0
test al, al
mov esi, ebx
jne 0x44a7b4
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x274]
call fcn.00430de4
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push 0x21
jmp 0x44a5f7
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x274]
call fcn.00430de4
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov edx, ebx
call fcn.0043867d
test al, al
je 0x44a83e
cmp byte [esp + 0x268], 0
je 0x44a83e
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push 9
jmp 0x44a5f7
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x254]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
add ebx, 0xfffffff0
shl esi, 4
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
lea eax, [ecx + eax*4]
mov edx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
cmp edx, eax
je 0x44b22f
mov edi, dword [edx]
add edx, 4
mov dword [esp + 0x18], edx
test esi, esi
je 0x44a8a9
movzx eax, word [edi + 2]
movzx edx, word [ebx + 0x1e]
movzx ecx, word [ebx + 0x1c]
push eax
push dword [edi]
call fcn.0042fe8e
pop ecx
pop edx
add ebx, 0x10
add esi, 0xfffffff0
test al, al
je 0x44a883
jmp 0x44a8bb
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jmp 0x44a872
lea esi, [esp + 0x270]
mov dword [esp + 0xa0], 0x80000000
mov ecx, esi
call fcn.004403b6
mov eax, dword [esi]
or eax, dword [esi + 4]
je 0x44a9a5
mov eax, dword [esp + 0xc]
mov byte [eax], 0xe
jmp 0x44b657
mov cl, byte [esp + 0x273]
mov edi, dword [esp + 0xc]
mov byte [edi + 3], cl
movzx ecx, word [esp + 0x271]
mov ebx, dword [esp + 0x274]
mov edx, dword [esp + 0x278]
mov esi, dword [esp + 0x27c]
mov word [edi + 1], cx
mov byte [edi], al
mov dword [edi + 4], ebx
mov dword [edi + 8], edx
mov dword [edi + 0xc], esi
mov al, 1
mov dword [esp + 4], eax
mov bl, 1
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
call fcn.00430d99
test bl, bl
je 0x44a957
lea esi, [esp + 0x254]
mov ecx, esi
call fcn.00404159
mov ecx, dword [esi - 0x14]
mov edx, dword [esi - 0x10]
call fcn.00403919
cmp byte [esp + 4], 0
je 0x44a96a
lea ecx, [esp + 0x25c]
call fcn.00436a52
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
call fcn.00430872
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
call fcn.00430872
lea ecx, [esp + 0x80]
call fcn.0044114b
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
call fcn.00430872
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x14], eax
push 0x15
call fcn.004385c2
pop ecx
mov edi, dword [esp + 0xc]
xor ecx, ecx
test eax, eax
je 0x44ad65
cmp dword [eax], 9
mov edx, eax
jne 0x44ad65
mov esi, dword [esp + 0x30]
mov dword [esp + 0x38], edx
test esi, esi
je 0x44b21a
mov ecx, dword [esp + 0x28]
imul eax, esi, 0x1c
lea ecx, [eax + ecx - 0x1c]
call fcn.0042e620
cmp ax, 0x15
jne 0x44b21a
mov ecx, dword [esp + 0x28]
mov edx, esi
call fcn.00438660
test eax, eax
je 0x44b6a6
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x44b80e
cmp edx, dword [eax + 0xc]
jne 0x44b81c
mov eax, dword [esp + 0x38]
mov ecx, edx
shl ecx, 4
mov edi, dword [eax + 8]
mov eax, edx
and eax, 0xfffffff
mov dword [esp + 0x90], eax
lea eax, [edi + 0xc]
mov dword [esp + 0x24], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 4], ecx
je 0x44b82a
mov esi, dword [esp + 0x254]
mov eax, dword [edi + 4]
mov dword [esp + 8], edi
mov edi, dword [edi + 8]
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x3c]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [eax + edx + 8]
push eax
call dword [ecx + 0xc]
add esp, 4
test al, al
je 0x44ab5a
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [eax + edx + 8]
push edi
push dword [esp + 0x20]
push eax
lea eax, [esp + 0x10fc]
push eax
call dword [ecx + 0x18]
add esp, 0x10
mov edi, dword [esp + 0x10f0]
mov esi, 0x80000000
cmp edi, 0x80000000
je 0x44ac31
mov edx, dword [esp + 0x10f4]
lea ecx, [esp + 0x270]
mov dword [esp + 0x1c], edx
push dword [esp + 0x10f8]
call fcn.004345eb
pop eax
mov esi, dword [esp + 0x278]
cmp esi, 0x80000000
je 0x44ac26
mov eax, dword [esp + 0x270]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x44], eax
push 0x10
pop ecx
mov edx, edi
mov eax, esi
lea edi, [esp + 0xea8]
lea esi, [esp + 0x27c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x27c]
mov esi, eax
mov edi, edx
mov eax, dword [ecx + 0x45]
mov dword [esp + 0xba8], eax
mov eax, dword [ecx + 0x48]
jmp 0x44ac09
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x34]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [eax + edx + 8]
push edi
push dword [esp + 0x20]
push eax
lea eax, [esp + 0x10fc]
push eax
call dword [ecx + 0x14]
add esp, 0x10
mov edi, dword [esp + 0x10f0]
mov esi, 0x80000000
cmp edi, 0x80000000
je 0x44ac31
mov edx, dword [esp + 0x10f4]
lea ecx, [esp + 0x270]
mov dword [esp + 0x1c], edx
push dword [esp + 0x10f8]
call fcn.004345eb
pop eax
mov esi, dword [esp + 0x278]
cmp esi, 0x80000000
je 0x44ac26
mov eax, dword [esp + 0x270]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x44], eax
push 0x10
pop ecx
lea edx, [esp + 0x27c]
mov dword [esp + 0x54], edi
mov eax, esi
lea edi, [esp + 0xea8]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov esi, eax
mov eax, dword [edx + 0x45]
mov edi, dword [esp + 0x54]
mov dword [esp + 0xba8], eax
mov eax, dword [edx + 0x48]
mov edx, dword [esp + 0x2bc]
mov cl, byte [esp + 0x2c0]
mov dword [esp + 0xbab], eax
mov dword [esp + 0x20], edx
mov byte [esp + 0x2f], cl
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.0041ae6b
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 4]
cmp esi, 0x80000000
je 0x44ad54
push 0x10
pop ecx
mov dword [esp + 0x1c], esi
lea edi, [esp + 0x27c]
lea esi, [esp + 0xea8]
lea edx, [esp + 0xba9]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x27c]
movzx eax, word [edx + 4]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov word [ecx + 0x4a], ax
mov eax, dword [edx]
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x46], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x270], esi
mov dword [esp + 0x274], edi
sub ecx, dword [esp + 0x20]
sub eax, esi
mov esi, dword [esp + 0x1c]
sbb edx, edi
mov edx, 0
cmovb eax, edx
mov edx, 0x3e8
mul edx
mov edx, 0xffffffff
cmovo eax, edx
mov edx, ecx
mov dword [esp + 0x278], esi
sub edx, eax
neg edx
sub ecx, eax
mov eax, dword [esp + 0x20]
cmovb ecx, edx
mov edx, dword [esp + 0x258]
cmp ecx, 0xea61
mov dword [esp + 0x2bc], eax
mov al, byte [esp + 0x2f]
mov byte [esp + 0x2c0], al
setb byte [esp + 0x2c1]
movzx eax, word [edx]
cmp word [esp + 0x2b8], ax
jne 0x44ad3c
cmp ax, 0x178
jne 0x44ad20
movzx eax, word [edx + 2]
cmp word [esp + 0x2ba], ax
jne 0x44ad3c
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x290]
call fcn.0044cd94
test al, al
jne 0x44bc16
lea ecx, [esp + 0x270]
call fcn.0044cdd7
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 8]
add dword [esp + 0x24], 0x10
add edi, 0x10
add ecx, 0xfffffff0
inc eax
jmp 0x44aa5c
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
call fcn.00438660
test eax, eax
je 0x44ae5d
add edx, edx
test edx, edx
je 0x44ae5d
add edx, 0xfffffffe
cmp byte [eax], 1
lea eax, [eax + 2]
jne 0x44ad80
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0xa0]
mov eax, dword [eax + 0x64]
cmp ecx, 0x80000000
mov dword [esp + 0x24], ecx
mov dword [esp + 0x250], eax
je 0x44ae82
mov edx, dword [esp + 0xb0]
lea ecx, [esp + 0x270]
push dword [esp + 0xb4]
call fcn.0041b116
pop eax
mov esi, dword [ebp + 0x18]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
call fcn.00403919
lea ecx, [esp + 0x270]
mov eax, dword [ecx + 8]
mov dword [esi + 0x38], eax
movsd xmm0, qword [ecx]
movsd qword [esi + 0x30], xmm0
mov esi, dword [ebp + 0x14]
cmp dword [esi + 0x84], 0x80000000
lea eax, [esi + 0x84]
mov dword [esp + 0x34], eax
je 0x44b66e
cmp dword [esp + 0xc4], 0x80000000
je 0x44b66e
mov dword [esp + 0xc], edi
mov edi, dword [esi + 0x8c]
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
mov edx, edi
mov dword [esp + 8], eax
mov dword [esp + 0x1c], ecx
sub edx, ecx
jae 0x44b6b4
jbe 0x44b6cc
jmp 0x44cd13
and dword [esp + 0x250], 0
lea esi, [esp + 0x98]
mov ecx, esi
call fcn.0044ceb7
mov dword [esi + 8], 0x80000000
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], 0x80000000
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x168]
call fcn.00444db5
mov ecx, dword [esp + 0x258]
and dword [esp + 0x84], 0
mov dword [esp + 0x88], 4
and dword [esp + 0x8c], 0
mov eax, dword [esp + 0x254]
mov esi, dword [esp + 0xa4]
movzx edx, word [ebx + 0xe]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x44], ecx
movzx ecx, word [ebx + 0xc]
mov dword [esp + 0x34], ecx
push dword [eax + 0x24]
mov dword [esp + 0x24], eax
push dword [eax + 0x20]
call fcn.00442765
pop ecx
pop edx
test eax, eax
mov dword [esp + 0x48], esi
je 0x44af11
lea ecx, [esp + 0x270]
mov edx, eax
call fcn.00442796
jmp 0x44af19
and dword [esp + 0x270], 0
lea eax, [esp + 0x1094]
lea esi, [esp + 0xda8]
lea edx, [esp + 0x270]
mov byte [eax], 0xf
mov ecx, esi
push eax
call fcn.0044289d
pop eax
movsd xmm0, qword [esi + 6]
mov eax, dword [esi]
mov cl, byte [esi + 4]
mov dl, byte [esi + 5]
movsd qword [esp + 0xf0], xmm0
movsd xmm0, qword [esi + 0xc]
test eax, eax
mov byte [esp + 4], cl
mov byte [esp + 8], dl
movsd qword [esp + 0xf6], xmm0
je 0x44b19d
mov esi, eax
lea eax, [esp + 0xdbc]
mov dword [esp + 0xc], edi
lea edi, [esp + 0x73c]
push 0x94
push eax
push edi
call fcn.0046e6e0
add esp, 0xc
mov al, byte [esp + 4]
mov dword [edi - 0x14], esi
movsd xmm0, qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xf6]
mov dword [esp + 0x38], esi
mov byte [edi - 0x10], al
mov al, byte [esp + 8]
mov byte [edi - 0xf], al
lea eax, [esp + 0x728]
movsd qword [edi - 0xe], xmm0
movsd qword [edi - 8], xmm1
lea edi, [esp + 0x15c4]
push 0xa8
push eax
push edi
call fcn.0046e6e0
add esp, 0xc
mov eax, dword [edi + 0x40]
cmp eax, 0x62
jae 0x44cd13
mov ecx, dword [ebp + 0xc]
lea edi, [esp + 0xd98]
lea edx, [esp + 0x1608]
add ecx, 0x48
mov dword [esp + 4], ecx
mov ecx, edi
push eax
call fcn.0041afd7
pop eax
mov eax, dword [esp + 0x34]
lea esi, [esp + 0x270]
mov edx, esi
mov word [edi + 0xc], ax
mov eax, dword [esp + 0x1c]
mov word [edi + 0xe], ax
movsd xmm0, qword [edi + 8]
movsd xmm1, qword [edi]
lea edi, [esp + 0x84]
mov ecx, edi
movsd qword [esi + 0xc], xmm0
movsd qword [esi + 4], xmm1
mov word [esi], 5
call fcn.00436a14
lea edx, [esp + 0x270]
mov ecx, edi
mov dword [esi], 0x5000a
call fcn.00436a14
cmp dword [esp + 0x14], 0
je 0x44b086
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x270]
lea ecx, [esp + 0x84]
mov word [edx + 2], ax
mov word [edx], 6
call fcn.00436a14
movsd xmm0, qword [esp + 0x160]
lea eax, [esp + 0x2a8]
movsd xmm1, qword [esp + 0x150]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x8c]
movsd qword [eax - 8], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [eax - 0x18], xmm1
movsd qword [eax - 0x10], xmm0
movsd xmm0, qword [esp + 0x148]
movsd qword [eax - 0x20], xmm0
movsd xmm0, qword [esp + 0x84]
mov ecx, dword [ecx]
mov dword [eax - 0x2c], edx
mov dx, 4
movsd qword [eax - 0x34], xmm0
mov byte [eax + 0x34], 2
mov dword [eax - 0x38], 0x80000002
mov word [eax - 0x28], dx
mov dword [eax - 0x24], ecx
push 9
pop ecx
mov esi, dword [esp + 4]
mov edi, eax
lea edx, [esp + 0x270]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x12d8]
mov byte [eax + 0x24], 0
mov ecx, esi
call fcn.0043d4ba
mov edx, dword [ebp + 0x14]
lea edi, [esp + 0x270]
mov ax, 4
mov ecx, edi
mov word [esi + 0x7c], ax
call fcn.00444e28
mov al, byte [edi]
cmp al, 0x14
jne 0x44b1da
lea esi, [esp + 0x168]
lea ecx, [esp + 0x1094]
mov edx, esi
push 0
push 1
call fcn.0044ce10
pop eax
pop ecx
mov ecx, esi
mov esi, dword [ebp + 0x14]
lea edi, [esp + 0x12d8]
mov edx, edi
call fcn.00444db5
mov ecx, esi
mov edx, edi
push 0
call fcn.0043deb8
pop eax
cmp dword [esp + 0x24], 0x80000000
jne 0x44b295
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xb00]
call fcn.00444df3
jmp 0x44b306
movsd xmm0, qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xf6]
lea ecx, [esp + 0x84]
movsd qword [esp + 0x7d0], xmm0
movsd qword [esp + 0x7d6], xmm1
call fcn.00436a52
mov al, byte [esp + 4]
mov bh, byte [esp + 8]
jmp 0x44b612
movsd xmm0, qword [esp + 0x272]
movsd xmm1, qword [esp + 0x278]
mov bh, byte [esp + 0x271]
lea ecx, [esp + 0x12d8]
mov bl, al
movsd qword [esp + 0x7d0], xmm0
movsd qword [esp + 0x7d6], xmm1
call fcn.0043d7f2
mov eax, ebx
jmp 0x44b60e
mov edx, dword [ebp + 0x14]
mov ecx, edi
push 0x25
push 0xd
call fcn.0043e3c1
pop eax
pop ecx
jmp 0x44b657
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
shl esi, 2
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x1c]
je 0x44b849
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], ecx
test esi, esi
je 0x44b28f
lea ebx, [eax + 4]
movzx edx, word [eax + 2]
movzx ecx, word [eax]
mov eax, dword [esp + 4]
movzx edi, word [eax + 2]
push edi
push dword [eax]
call fcn.0042fe8e
pop ecx
pop edx
mov edi, dword [esp + 0xc]
add esi, 0xfffffffc
test al, al
mov eax, ebx
je 0x44b25d
jmp 0x44b851
mov esi, dword [esp + 0x10]
jmp 0x44b23e
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x680]
mov ecx, edi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.00443ebc
pop eax
pop ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea esi, [ecx + edx + 8]
lea edx, [esp + 0x1094]
mov ecx, edi
push dword [ebp + 0x14]
lea edi, [esp + 0x12c]
push edi
push dword [eax + 0x10]
push dword [eax + 0xc]
push esi
call fcn.00443fe6
add esp, 0x14
lea eax, [esp + 0xb00]
push 0xa8
lea ecx, [esp + 0x684]
push ecx
push eax
call fcn.0046e6e0
add esp, 0xc
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x760]
mov ecx, dword [ecx]
mov edx, dword [eax]
mov cl, byte [ecx + 0x14]
cmp cl, byte [edx + 0x14]
jne 0x44b60a
xorps xmm0, xmm0
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
mov esi, dword [eax]
mov edi, dword [esi + 0x10]
cmp edi, 0x31
jae 0x44cd13
lea esi, [esp + 0x72c]
lea ebx, [esp + 0xf0]
push edx
push ecx
push esi
push edi
push ebx
call dword [eax + 4]
add esp, 0x14
test al, al
jne 0x44b60a
lea eax, [esp + 0xb00]
push 0xa8
push eax
lea esi, [esp + 0x278]
push esi
call fcn.0046e6e0
add esp, 0xc
lea edx, [esp + 0xf0]
mov ecx, esi
push edi
call fcn.0042fc91
pop eax
lea esi, [esp + 0x272]
mov al, byte [esi - 2]
mov byte [esp + 4], al
mov al, byte [esi - 1]
mov byte [esp + 8], al
push 0x9e
push esi
lea eax, [esp + 0xdb0]
push eax
call fcn.0046e6e0
add esp, 0xc
mov edi, dword [esi + 0x9e]
test edi, edi
je 0x44b60a
lea eax, [esp + 0x270]
lea ebx, [esp + 0xeaa]
mov esi, dword [eax + 0xa4]
push 0x9e
lea eax, [esp + 0xdac]
push eax
push ebx
call fcn.0046e6e0
add esp, 0xc
mov al, byte [esp + 4]
mov cl, byte [esp + 8]
lea edx, [esp + 0x168]
mov byte [ebx - 2], al
mov byte [ebx - 1], cl
mov dword [ebx + 0x9e], edi
mov dword [ebx + 0xa2], esi
lea ebx, [esp + 0x1580]
mov ecx, ebx
call fcn.00444e41
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x128]
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea esi, [ecx + edx + 8]
lea edx, [esp + 0xea8]
lea ecx, [esp + 0x270]
push edi
push dword [eax + 0x10]
push dword [eax + 0xc]
push esi
push ebx
call fcn.00444ec3
add esp, 0x14
lea ebx, [esp + 0x3b8]
mov ecx, dword [ebx - 0xa8]
mov edx, ebx
push dword [ebp + 0x14]
call fcn.00444f7b
pop eax
lea ecx, [esp + 0x270]
mov al, byte [ecx]
mov byte [esp + 4], al
mov al, byte [ecx + 1]
mov byte [esp + 8], al
push 0x1de
lea eax, [esp + 0x276]
push eax
lea eax, [esp + 0x7d8]
push eax
call fcn.0046e6e0
add esp, 0xc
mov esi, dword [ebx + 0x98]
test esi, esi
je 0x44b840
mov edi, dword [esp + 0x454]
mov ebx, 0x1de
lea ecx, [esp + 0xba8]
push ebx
lea eax, [esp + 0x7d4]
push eax
push ecx
call fcn.0046e6e0
add esp, 0xc
mov al, byte [esp + 4]
mov byte [esp + 0xea8], al
mov al, byte [esp + 8]
mov byte [esp + 0xea9], al
push ebx
lea eax, [esp + 0xbac]
push eax
lea eax, [esp + 0xeb2]
push eax
call fcn.0046e6e0
add esp, 0xc
mov dword [esp + 0x1088], esi
mov dword [esp + 0x108c], edi
push 0x1e8
lea eax, [esp + 0xeac]
push eax
lea eax, [esp + 0x10f8]
push eax
call fcn.0046e6e0
add esp, 0xc
cmp byte [esp + 0x268], 0
jne 0x44b556
mov ecx, dword [ebp + 0x14]
call fcn.0044cd72
mov eax, dword [esp + 0x254]
lea ecx, [esp + 0x25c]
mov edx, dword [esp + 0x30]
and dword [esp + 0x728], 0
mov dword [esp + 0x72c], 4
and dword [esp + 0x730], 0
movsd xmm0, qword [ecx]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x258]
movsd qword [esp + 0xda8], xmm0
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xdb0], eax
call fcn.00438624
test eax, eax
je 0x44bebd
mov edi, dword [eax + 8]
mov esi, dword [eax + 4]
lea ebx, [esp + 0x7d0]
mov ecx, ebx
mov edx, edi
call fcn.0042e938
mov ecx, ebx
mov edx, edi
call fcn.0042e970
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
test edi, edi
mov dword [esp + 8], eax
je 0x44bb60
mov edx, dword [esp + 8]
add esi, 8
mov eax, dword [esi - 4]
mov ecx, dword [esi]
add esi, 0xc
mov dword [edx + ebx*8], eax
mov dword [edx + ebx*8 + 4], ecx
inc ebx
dec edi
jne 0x44b5f2
jmp 0x44bb64
mov bh, 0x18
mov al, 8
mov edi, dword [esp + 0xc]
movsd xmm1, qword [esp + 0x7d6]
movsd xmm0, qword [esp + 0x7d0]
movsd qword [esp + 0xbae], xmm1
movsd qword [esp + 0xba8], xmm0
movsd xmm1, qword [esp + 0xbae]
movsd xmm0, qword [esp + 0xba8]
movsd qword [edi + 8], xmm1
movsd qword [edi + 2], xmm0
mov byte [edi], al
mov byte [edi + 1], bh
mov al, 1
mov dword [esp + 4], eax
lea ecx, [esp + 0x98]
call fcn.0044ceb7
jmp 0x44a92b
lea edx, [esp + 0xc4]
lea ecx, [esp + 0x270]
call fcn.00447db1
mov esi, dword [esp + 0x34]
mov ecx, esi
call fcn.00435ee6
lea ecx, [esp + 0x270]
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
movsd xmm0, qword [ecx]
movsd qword [esi], xmm0
jmp 0x44ae8a
mov edx, dword [ebp + 0x14]
mov ecx, edi
push 0x1f
push 0x19
jmp 0x44b223
mov edi, dword [esp + 0x1c]
imul ecx, edi, 0xc
add ecx, dword [esi + 0x88]
mov dword [esi + 0x8c], edi
call fcn.00403c01
mov eax, dword [esi + 0x88]
xor esi, esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], eax
sub edi, 1
mov dword [esp + 4], edi
jb 0x44b730
mov eax, dword [esp + 8]
lea ecx, [esp + 0x270]
mov edx, dword [eax + esi + 4]
push dword [eax + esi + 8]
call fcn.0041b116
pop eax
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + esi]
mov edx, dword [edi + esi + 4]
call fcn.0041ae6b
mov eax, dword [esp + 0x278]
mov dword [edi + esi + 8], eax
movsd xmm0, qword [esp + 0x270]
movsd qword [edi + esi], xmm0
mov edi, dword [esp + 4]
add esi, 0xc
jmp 0x44b6dc
imul esi, dword [esp + 0x20], 0xc
mov edx, dword [esp + 8]
imul eax, dword [esp + 0x1c], 0xc
add eax, edx
sub eax, edx
sub eax, esi
push 0xc
pop ecx
xor edx, edx
div ecx
mov edx, dword [ebp + 0x14]
mov edi, eax
mov eax, dword [edx + 0x84]
mov edx, dword [edx + 0x8c]
sub eax, edx
cmp eax, edi
jae 0x44b787
mov ecx, dword [esp + 0x34]
push edi
call fcn.004237c4
pop ecx
cmp eax, 0x80000001
jne 0x44cd13
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x8c]
mov dword [esp + 0x10], eax
jmp 0x44b78b
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x1c]
je 0x44b7f8
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp + 0x14]
imul edx, ecx, 0xc
add ecx, edi
add edx, dword [eax + 0x88]
mov eax, dword [esp + 8]
mov dword [esp + 0x10], ecx
lea eax, [esi + eax + 8]
xor esi, esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
lea ecx, [esp + 0x270]
mov edx, dword [eax + esi - 4]
push dword [eax + esi]
call fcn.0041b116
pop eax
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 4]
mov dword [ecx + esi + 8], eax
movsd xmm0, qword [esp + 0x270]
movsd qword [ecx + esi], xmm0
add esi, 0xc
dec edi
jne 0x44b7bd
mov edi, dword [esp + 0xc]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x8c], ecx
jmp 0x44ae8a
mov edx, dword [ebp + 0x14]
mov ecx, edi
push 0x1d
push 0x10
jmp 0x44b223
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push 0x26
jmp 0x44b221
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x18], eax
jmp 0x44ad65
mov edi, dword [esp + 0xc]
jmp 0x44b1cd
mov dword [esp + 4], 0
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x168]
call fcn.00444db5
cmp dword [esp + 4], 0
mov edx, dword [ebp + 0x14]
je 0x44b87d
cmp byte [esp + 0x268], 0
je 0x44b88e
mov ecx, edi
push 0x27
jmp 0x44a5f7
push 6
pop eax
mov ecx, edi
push eax
push eax
call fcn.0043e41d
jmp 0x44a5fe
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x258]
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ecx]
mov edx, dword [eax]
lea eax, [esp + 0x1104]
add ebx, 0x48
mov dword [esp + 4], ecx
mov cx, 4
mov word [eax - 8], cx
push 9
pop ecx
mov edi, eax
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [eax - 4], edx
lea edi, [esp + 0x270]
lea esi, [esp + 0x10f0]
mov ecx, dword [esp + 4]
and dword [eax - 0x14], 0
mov dword [eax - 0x10], 4
and dword [eax - 0xc], 0
mov edx, edi
mov dword [edi + 4], ecx
mov ecx, esi
mov dword [edi], 0x80000000
call fcn.0040540d
lea edx, [esp + 0x270]
mov ecx, esi
mov word [edi + 4], 5
mov dword [edi], 0x80000002
call fcn.0040540d
lea eax, [esp + 0x274]
push 0xe
pop ecx
mov edi, eax
lea edx, [esp + 0x270]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x1480]
mov byte [eax + 0x68], 6
mov dword [eax - 4], 0x80000003
mov ecx, esi
call fcn.0043d4ba
mov ebx, dword [esp + 0x230]
mov ax, 4
xorps xmm0, xmm0
lea edi, [esp + 0x850]
mov word [esi + 0x7c], ax
movaps xmmword [edi - 0x80], xmm0
movaps xmmword [edi - 0x70], xmm0
movaps xmmword [edi - 0x60], xmm0
movaps xmmword [edi - 0x50], xmm0
movaps xmmword [edi - 0x40], xmm0
movaps xmmword [edi - 0x30], xmm0
movaps xmmword [edi - 0x20], xmm0
movaps xmmword [edi - 0x10], xmm0
push 0x10
pop ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
push 0xd8
lea esi, [esp + 0x16c]
push esi
lea edi, [esp + 0x278]
push edi
call fcn.0046e6e0
add esp, 0xc
push 0xc0
lea eax, [esp + 0x7d4]
push eax
push esi
call fcn.0046e6e0
add esp, 0xc
and dword [esp + 0x22c], 0
and dword [esp + 0x228], 0
mov dword [esp + 0x230], ebx
and dword [esp + 0x238], 0
lea esi, [esp + 0xea8]
mov edx, edi
mov ecx, esi
call fcn.0042a3ba
mov eax, dword [esi]
mov eax, dword [eax + 0x48]
cmp eax, 0x41
jae 0x44cd13
lea esi, [esp + 0x7d0]
lea edx, [esp + 0xeac]
mov ecx, esi
push eax
call fcn.0043d49e
pop eax
lea edi, [esp + 0xba8]
mov edx, esi
mov ecx, edi
call fcn.00431c7c
mov ebx, dword [edi + 4]
lea ecx, [esp + 0x168]
mov edx, ebx
push dword [edi + 8]
call fcn.00448495
pop ecx
mov ecx, dword [edi]
mov edx, ebx
call fcn.0041ae6b
mov ecx, esi
call fcn.0043d2cc
lea edi, [esp + 0x1480]
lea ecx, [esp + 0x168]
mov edx, edi
call fcn.00444db5
mov esi, dword [ebp + 0x14]
mov edx, edi
mov ecx, esi
push 0
call fcn.0043deb8
pop eax
mov ecx, esi
call fcn.0044cd72
mov ebx, dword [esp + 0x254]
mov eax, dword [ebx + 0x60]
mov dword [esp + 4], eax
mov eax, 0xe8
push eax
lea eax, [esp + 0x16c]
push eax
lea eax, [esp + 0x278]
push eax
call fcn.0046e6e0
add esp, 0xc
lea eax, [esp + 0x25c]
mov esi, dword [esp + 0x250]
lea ecx, [esp + 0x7d0]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
movsd qword [ecx], xmm0
mov dword [ecx + 8], eax
push 8
pop edx
mov ecx, 0x100
call fcn.004056e6
mov edi, eax
mov eax, 0xe8
push eax
lea eax, [esp + 0x274]
push eax
push edi
call fcn.0046e6e0
add esp, 0xc
lea eax, [esp + 0x7d0]
cmp byte [esp + 0x20], 0
mov dword [edi + 0xe8], esi
mov dword [edi + 0xec], ebx
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
movsd qword [edi + 0xf0], xmm0
mov dword [edi + 0xf8], eax
mov byte [edi + 0xfc], 1
je 0x44bb40
mov eax, dword [esp + 4]
mov esi, 0x4000
test eax, eax
cmovne esi, eax
push 8
pop ecx
push 4
pop edx
call fcn.004056e6
mov ecx, dword [esp + 0xc]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x4829b0
mov byte [ecx], 0x14
jmp 0x44bb51
mov eax, dword [esp + 0xc]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x482998
mov byte [eax], 0x14
mov dword [esp + 4], 0
xor ebx, ebx
jmp 0x44a92d
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x7d0]
mov ecx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], eax
lea eax, [ebx*8]
test eax, eax
je 0x44bb9b
add eax, 0xfffffff8
cmp dword [ecx + 4], 0
lea ecx, [ecx + 8]
jne 0x44bb7c
mov byte [esp + 0x681], 0x23
mov bl, 8
jmp 0x44be0f
mov eax, dword [esp + 0x14]
shl dword [esp + 0x18], 3
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x20], eax
imul eax, eax, 0xc
mov dword [esp + 0x10], ecx
add eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x10], eax
je 0x44bd9d
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
lea ecx, [eax + 0xc]
mov edx, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [esp + 8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 4], edx
test ebx, ebx
je 0x44bc0c
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea esi, [eax + 8]
push edi
push dword [esp + 8]
call fcn.0041baf7
pop ecx
pop edx
add ebx, 0xfffffff8
test al, al
mov eax, esi
je 0x44bbe6
jmp 0x44bda5
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jmp 0x44bbbb
push 0x13
pop eax
lea edi, [esp + 0x7d0]
mov ecx, eax
lea esi, [esp + 0x27c]
lea edx, [esp + 0xe5c]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov edi, edx
lea esi, [esp + 0x7d0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov dword [edx - 8], eax
mov dword [edx - 0xc], esi
mov dword [edx - 4], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x18], edx
jbe 0x44cd13
mov eax, dword [esp + 0xe5c]
imul ecx, dword [esp + 0x18], 0xc
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x14]
mov edx, dword [eax + ecx + 4]
mov eax, dword [eax + ecx + 8]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
mov eax, 0x80000000
mov dword [esp + 0x10], edx
xor eax, dword [ecx]
cmp eax, 3
ja 0x44bcaf
cmp eax, 1
jne 0x44cd13
mov eax, dword [ebp + 0x10]
lea edi, [esp + 0x10f0]
mov ecx, edi
lea edx, [eax + 0xc]
call fcn.0043d410
mov esi, dword [edi + 4]
lea edx, [esp + 0x168]
lea ecx, [esp + 0xea8]
push dword [edi + 8]
push esi
call fcn.0044ce10
pop eax
pop ecx
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x270]
push dword [esp + 8]
push dword [esp + 8]
call fcn.00443ebc
pop eax
pop ecx
lea edi, [esp + 0x7d0]
lea edx, [esp + 0x270]
lea eax, [esp + 0xea8]
mov ecx, edi
push eax
call fcn.00443f24
pop eax
mov eax, dword [edi]
mov edx, dword [eax + 0x48]
cmp edx, 0x41
jae 0x44cd13
lea ecx, [esp + 0x7d4]
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.004282bd
pop ecx
pop edx
mov ecx, dword [esp + 0x10f0]
mov edx, esi
mov byte [esp + 4], al
call fcn.0041ae6b
cmp byte [esp + 4], 0
je 0x44bd77
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push 0x16
push 0x11
call fcn.0043e3c1
pop eax
pop ecx
lea ecx, [esp + 0xe50]
call fcn.0044cdd7
jmp 0x44b657
lea edi, [esp + 0x98]
mov ecx, edi
call fcn.0044ceb7
push 0x16
pop ecx
lea esi, [esp + 0xe50]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xc]
xor ecx, ecx
inc ecx
jmp 0x44ad65
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
lea ebx, [esp + 0x7d0]
mov ecx, ebx
call fcn.0042fc77
mov esi, dword [ebp + 0x14]
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
call fcn.00403919
mov eax, dword [ebx + 8]
mov dword [esi + 0x80], eax
movsd xmm0, qword [ebx]
movsd qword [esi + 0x78], xmm0
cmp dword [esi + 0x78], 0x80000000
jne 0x44be6e
cmp dword [esp + 0x20], 0
je 0x44beb0
mov edx, dword [ebp + 0x14]
lea edi, [esp + 0x680]
mov byte [esp + 0x7d0], 0x12
mov ecx, edi
push ebx
push 0x21
call fcn.0043de50
pop eax
pop ecx
mov bl, byte [edi]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 8]
call fcn.00403bb2
lea ecx, [esp + 0xda8]
call fcn.00436a52
cmp bl, 0x14
je 0x44c0a2
movsd xmm0, qword [esp + 0x688]
mov esi, dword [esp + 0xc]
movsd xmm1, qword [esp + 0x682]
mov bh, byte [esp + 0x681]
lea ecx, [esp + 0x728]
movsd qword [esi + 8], xmm0
movsd qword [esi + 2], xmm1
call fcn.00436a52
mov byte [esi], bl
mov byte [esi + 1], bh
jmp 0x44cc48
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0xba8]
lea edi, [esp + 0x7d4]
mov eax, dword [ecx + 0x7c]
mov ecx, dword [ecx + 0x80]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, edi
push 1
call fcn.0043851d
pop eax
lea ecx, [esp + 0x728]
lea edx, [esp + 0x7d0]
mov word [edi - 4], 4
call fcn.00436a14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 8]
call fcn.00403bb2
cmp dword [esp + 0x24], 0x80000000
mov dword [esp + 4], 0
mov dword [esp + 8], 0
jne 0x44c00e
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x1c]
mov edi, dword [eax + 0x20]
mov ecx, esi
mov edx, edi
call fcn.004385f0
test eax, eax
je 0x44bf09
lea edx, [esp + 0x7d0]
lea ecx, [esp + 0x728]
mov word [edx], 1
call fcn.00436a14
mov ecx, esi
mov edx, edi
push 5
call fcn.004385c2
pop ecx
cmp dword [esp + 0x40], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
je 0x44bf65
test eax, eax
mov dword [esp + 4], 0
je 0x44bf65
mov eax, dword [ebp + 0x14]
cmp word [eax + 0x9c], 5
je 0x44bf5d
lea edx, [esp + 0x7d0]
lea ecx, [esp + 0x728]
mov word [edx], 8
call fcn.00436a14
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov ecx, esi
mov edx, edi
push 0x11
call fcn.004385c2
pop ecx
test eax, eax
je 0x44c00e
mov eax, dword [ebp + 0x14]
cmp word [eax + 0x9c], 5
jne 0x44bf90
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
jmp 0x44c00e
cmp dword [esp + 0x3c], 0
je 0x44c00e
mov edx, dword [esp + 0x3c]
lea edi, [esp + 0xb00]
mov ecx, edi
push dword [esp + 0x78]
call fcn.0041afd7
pop eax
mov esi, dword [edi + 4]
lea ebx, [esp + 0xba8]
mov ecx, ebx
mov edx, esi
push dword [edi + 8]
call fcn.00436035
pop eax
cmp dword [ebx], 0
jne 0x44cd13
mov eax, dword [esp + 0xbb4]
movsd xmm0, qword [esp + 0xbac]
mov ecx, dword [esp + 0xb00]
lea edi, [esp + 0x7d0]
mov edx, esi
mov dword [edi + 0xc], eax
movsd qword [edi + 4], xmm0
mov word [edi], 9
call fcn.0041ae6b
lea ecx, [esp + 0x728]
mov edx, edi
call fcn.00436a14
mov ecx, dword [esp + 0x728]
mov ebx, dword [esp + 0x730]
mov esi, dword [esp + 0xdb0]
mov eax, dword [esp + 0xda8]
mov edi, dword [esp + 0xdac]
sub ecx, ebx
mov dword [esp + 0x10], eax
cmp ecx, esi
jae 0x44c05d
lea ecx, [esp + 0x728]
mov edx, ebx
push esi
call fcn.0042ee38
pop ecx
cmp eax, 0x80000001
jne 0x44cd13
mov ebx, dword [esp + 0x730]
imul ecx, ebx, 0x14
imul eax, esi, 0x14
add ecx, dword [esp + 0x72c]
push eax
push edi
push ecx
call fcn.0046e6e0
add esp, 0xc
add ebx, esi
mov ecx, edi
xor edx, edx
mov dword [esp + 0x730], ebx
call fcn.0042ed91
mov ecx, dword [esp + 0x10]
mov edx, edi
call fcn.0042edab
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
call fcn.0043867d
mov bh, al
test al, al
je 0x44c0de
cmp dword [esp + 0x24], 0x80000000
mov al, 1
mov dword [esp + 8], eax
je 0x44c20d
mov ecx, dword [esp + 0x14]
mov al, 1
mov dword [esp + 8], eax
cmp dword [ecx + 0x60], 0
jne 0x44c102
mov bl, 1
jmp 0x44c128
cmp dword [esp + 0x24], 0x80000000
mov dword [esp + 8], 0
je 0x44c20d
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x60], 0
je 0x44c20d
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [eax + edx + 8]
push eax
call dword [ecx + 0xc]
add esp, 4
test bh, bh
je 0x44c20d
mov ebx, eax
test byte [esp + 0xe9], 1
je 0x44c20d
movzx eax, word [esp + 0xdc]
mov ecx, dword [ebp + 0x14]
cmp ax, word [ecx + 0x9c]
jne 0x44c20d
cmp ax, 9
jne 0x44c169
movzx eax, word [esp + 0xde]
cmp ax, word [ecx + 0x9e]
jne 0x44c20d
movzx eax, word [esp + 0xe0]
mov ecx, dword [esp + 0x34]
cmp ax, word [ecx]
jne 0x44c20d
cmp ax, 0x178
jne 0x44c196
movzx eax, word [esp + 0xe2]
mov ecx, dword [esp + 0x34]
cmp ax, word [ecx + 2]
jne 0x44c20d
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0xd0]
mov esi, 0x80000000
mov ecx, dword [ecx + 0x78]
cmp edx, esi
sete ah
cmp ecx, esi
sete al
and al, ah
cmp edx, esi
je 0x44c1e1
cmp ecx, 0x80000000
je 0x44c1e1
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
push dword [eax + 0x80]
push dword [eax + 0x7c]
call fcn.0041baf7
pop ecx
pop edx
xor al, 1
or bl, al
jne 0x44c20d
mov eax, dword [ebp + 0x18]
cmp dword [eax], 4
je 0x44c20d
lea edx, [esp + 0x7d0]
lea ecx, [esp + 0x728]
mov word [edx], 0xd
call fcn.00436a14
mov al, 2
mov dword [esp + 8], eax
mov eax, dword [esp + 0x730]
movsd xmm0, qword [esp + 0x728]
lea esi, [esp + 0x270]
lea edx, [esp + 0x7d0]
mov ecx, esi
mov dword [edx + 0xc], eax
movsd qword [edx + 4], xmm0
mov byte [edx + 0x6c], 7
mov dword [edx], 0x8000000f
call fcn.0043d4ba
lea ecx, [esp + 0x168]
mov edx, esi
mov word [esi + 0x7c], 5
call fcn.00444db5
mov ecx, dword [ebp + 0x14]
mov edx, esi
push 1
call fcn.0043deb8
pop eax
cmp dword [esp + 0x24], 0x80000000
jne 0x44c38d
mov eax, dword [esp + 0x254]
mov edi, dword [eax + 0x50]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edi + 8]
dec eax
and eax, 0xfffffff8
lea ebx, [ecx + eax + 8]
push ebx
call dword [edi + 0xc]
add esp, 4
test al, al
mov dword [esp + 0x10], eax
je 0x44c4ef
lea esi, [esp + 0xbb4]
and dword [esi - 0xc], 0
mov dword [esi - 8], 1
and dword [esi - 4], 0
and dword [esi], 0
mov dword [esi + 4], 4
and dword [esi + 8], 0
push ebx
lea eax, [esp + 0xb04]
push eax
call dword [edi + 0x24]
add esp, 8
mov edx, dword [esp + 0xb04]
lea ecx, [esp + 0x274]
mov dword [esp + 0x14], edx
push dword [esp + 0xb08]
call fcn.0042e1eb
pop eax
lea eax, [esp + 0x274]
lea edx, [esp + 0x270]
mov ecx, esi
mov dword [eax - 4], 0x80000000
call fcn.0040540d
push ebx
call dword [edi + 0x14]
add esp, 4
lea esi, [esp + 0x680]
mov edi, eax
mov ebx, edx
mov ecx, esi
call fcn.0042ec82
mov eax, dword [esi + 8]
mov ecx, esi
mov dword [esp + 0x18], ebx
mov edx, ecx
imul esi, eax, 0xc
sub eax, dword [edx]
add esi, dword [ecx + 4]
imul ecx, ebx, 0xc
test eax, eax
je 0x44c39a
test ecx, ecx
je 0x44c39a
mov edx, dword [edi + 4]
mov ebx, eax
lea eax, [edi + 0xc]
mov dword [esp + 4], eax
mov eax, edi
mov edi, ecx
lea ecx, [esp + 0x270]
push dword [eax + 8]
call fcn.0041b116
mov ecx, edi
add esp, 4
mov eax, dword [esp + 0x278]
mov edi, dword [esp + 4]
add ecx, 0xfffffff4
mov dword [esi + 8], eax
mov eax, ebx
movsd xmm0, qword [esp + 0x270]
inc eax
movsd qword [esi], xmm0
add esi, 0xc
jmp 0x44c33b
mov dword [esp + 0x10], 0
jmp 0x44c7dd
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x688], eax
je 0x44c45b
mov eax, dword [esp + 0x688]
movsd xmm0, qword [esp + 0x680]
lea edx, [esp + 0x270]
lea ecx, [esp + 0xbb4]
mov dword [edx + 0xc], eax
movsd qword [edx + 4], xmm0
mov dword [edx], 0x80000001
call fcn.0040540d
movsd xmm1, qword [esp + 0xbb0]
lea edx, [esp + 0x7d0]
movsd xmm0, qword [esp + 0xba8]
lea esi, [esp + 0x270]
mov byte [edx + 0x6c], 0xa
mov dword [edx], 0x80000008
mov ecx, esi
movsd qword [edx + 0xc], xmm1
movsd xmm1, qword [esp + 0xbb8]
movsd qword [edx + 4], xmm0
movsd qword [edx + 0x14], xmm1
call fcn.0043d4ba
lea ebx, [esp + 0x1500]
mov word [ebx + 0x7c], 5
push 0x1f
pop ecx
mov edi, ebx
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x168]
call fcn.00444db5
mov ecx, dword [ebp + 0x14]
mov edx, ebx
push 1
call fcn.0043deb8
pop eax
jmp 0x44c4df
movsd xmm1, qword [esp + 0xbb0]
lea edx, [esp + 0x7d0]
movsd xmm0, qword [esp + 0xba8]
lea esi, [esp + 0x270]
mov byte [edx + 0x6c], 0xa
mov dword [edx], 0x80000008
mov ecx, esi
movsd qword [edx + 0xc], xmm1
movsd xmm1, qword [esp + 0xbb8]
movsd qword [edx + 4], xmm0
movsd qword [edx + 0x14], xmm1
call fcn.0043d4ba
lea ebx, [esp + 0x1500]
mov word [ebx + 0x7c], 5
push 0x1f
pop ecx
mov edi, ebx
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x168]
call fcn.00444db5
mov ecx, dword [ebp + 0x14]
mov edx, ebx
push 1
call fcn.0043deb8
pop eax
lea ecx, [esp + 0x680]
call fcn.00403f24
mov ecx, dword [esp + 0xb00]
mov edx, dword [esp + 0x14]
call fcn.00430d99
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0xb00]
lea edi, [esp + 0xba8]
mov eax, dword [ecx + 0xc]
imul ebx, dword [ecx + 0x10], 0xc
and dword [edx], 0
mov dword [edx + 4], 4
and dword [edx + 8], 0
test ebx, ebx
je 0x44c55b
mov edx, dword [eax + 4]
lea esi, [eax + 0xc]
mov ecx, edi
push dword [eax + 8]
call fcn.0041b116
pop eax
and dword [esp + 0xbb4], 0
mov dword [esp + 0xbb8], 4
and dword [esp + 0xbbc], 0
lea ecx, [esp + 0xb00]
mov edx, edi
call fcn.00437369
add ebx, 0xfffffff4
mov eax, esi
jmp 0x44c516
cmp dword [esp + 0xb08], 0
je 0x44c629
mov esi, dword [esp + 0xb04]
cmp dword [esp + 0x40], 0
je 0x44c5a7
mov edx, dword [esp + 0x40]
lea edi, [esp + 0x274]
mov ecx, edi
push dword [esp + 0x94]
call fcn.0041afd7
pop eax
lea ecx, [esi + 0xc]
lea edx, [esp + 0x270]
mov dword [edi - 4], 0x80000000
call fcn.0040540d
cmp dword [esp + 0x3c], 0
je 0x44c629
mov edx, dword [esp + 0x3c]
lea ebx, [esp + 0x680]
mov ecx, ebx
push dword [esp + 0x78]
call fcn.0041afd7
pop eax
mov edi, dword [ebx + 4]
lea ecx, [esp + 0x270]
mov edx, edi
push dword [ebx + 8]
call fcn.00436035
pop eax
lea eax, [esp + 0x270]
cmp dword [eax], 0
jne 0x44cd13
mov eax, dword [esp + 0x27c]
movsd xmm0, qword [esp + 0x274]
mov ecx, dword [esp + 0x680]
lea ebx, [esp + 0x7d0]
mov edx, edi
add esi, 0xc
mov dword [ebx + 0xc], eax
movsd qword [ebx + 4], xmm0
mov dword [ebx], 0x80000001
call fcn.0041ae6b
mov ecx, esi
mov edx, ebx
call fcn.0040540d
mov eax, dword [esp + 0xb08]
movsd xmm0, qword [esp + 0xb00]
lea edx, [esp + 0x7d0]
lea esi, [esp + 0x270]
mov ecx, esi
mov dword [edx + 0x18], eax
movsd qword [edx + 0x10], xmm0
mov byte [edx + 0x6c], 8
mov dword [edx], 0x80000005
and dword [edx + 4], 0
xor edi, edi
inc edi
mov dword [edx + 8], edi
and dword [edx + 0xc], 0
call fcn.0043d4ba
lea ecx, [esp + 0x168]
mov edx, esi
mov word [esi + 0x7c], 5
call fcn.00444db5
mov ecx, dword [ebp + 0x14]
mov edx, esi
push edi
call fcn.0043deb8
pop eax
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x70]
lea ebx, [esp + 0x7d0]
lea edx, [esp + 0x168]
mov esi, dword [ecx + 0x30]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [esi + 8]
dec ecx
and ecx, 0xfffffff8
lea eax, [eax + ecx + 8]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov ecx, ebx
call fcn.00444e41
lea ecx, [esp + 0xba8]
mov edx, ebx
call fcn.00446aa1
push edi
push dword [esp + 0x18]
push dword [esp + 0xc]
call dword [esi + 0xc]
add esp, 0xc
test eax, eax
je 0x44c6ef
mov edi, eax
mov esi, edx
jmp 0x44c71f
mov edx, dword [ebp + 0x14]
lea esi, [esp + 0x7d0]
mov ecx, esi
push 7
push 6
call fcn.0043e41d
pop eax
pop ecx
mov bl, byte [esi]
cmp bl, 0x14
jne 0x44cbc5
mov edi, dword [esp + 0x7d4]
mov esi, dword [esp + 0x7d8]
push edi
call dword [esi + 0x10]
add esp, 4
mov word [esp + 4], ax
mov word [esp + 0x14], dx
push dword [esp + 0xbb0]
push dword [esp + 0xbb0]
push edi
lea eax, [esp + 0x7dc]
push eax
call dword [esi + 0xc]
add esp, 0x10
mov bl, byte [esp + 0x7d0]
cmp bl, 0x14
jne 0x44caba
lea edx, [esp + 0x7d0]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
mov ebx, dword [edx + 0xc]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ebx
movzx ebx, word [esp + 4]
movzx ecx, word [esp + 0x14]
mov byte [edx + 0x6c], 0xc
mov dword [edx], 0x80000009
mov word [edx + 0x10], bx
lea ebx, [esp + 0x270]
mov word [edx + 0x12], cx
mov ecx, ebx
call fcn.0043d4ba
lea ecx, [esp + 0x168]
mov edx, ebx
mov word [ebx + 0x7c], 5
call fcn.00444db5
mov ecx, dword [ebp + 0x14]
mov edx, ebx
push 1
call fcn.0043deb8
pop eax
mov ecx, edi
mov edx, esi
call fcn.0040342c
mov ecx, dword [esp + 0xba8]
mov edx, dword [esp + 0xbac]
call fcn.0041ae6b
cmp byte [esp + 8], 0
je 0x44c82c
movzx eax, byte [esp + 8]
cmp eax, 1
jne 0x44c849
mov eax, dword [esp + 0x254]
lea edx, [esp + 0x1198]
mov esi, 0x4000
mov ecx, dword [edx - 8]
mov eax, dword [eax + 0x60]
test eax, eax
cmovne esi, eax
call fcn.00448417
mov edi, dword [ebp + 0x14]
mov edx, eax
mov ecx, edi
call fcn.0044846b
mov byte [edi + 0x29], 2
mov dword [edi], 1
mov dword [edi + 4], esi
jmp 0x44c83f
lea edx, [esp + 0x1198]
mov ecx, dword [edx - 8]
push dword [ebp + 0x14]
call fcn.00444f5f
pop eax
mov ecx, dword [ebp + 0x18]
call fcn.0044cec5
jmp 0x44c879
mov eax, dword [esp + 0x254]
mov edi, dword [ebp + 0x18]
mov esi, dword [eax + 0x60]
mov ecx, edi
call fcn.0043e74c
mov dword [edi], 1
mov dword [edi + 4], esi
and dword [edi + 8], 0
mov dword [edi + 0xc], 4
and dword [edi + 0x10], 0
and dword [edi + 0x14], 0
mov edx, dword [ebp + 0x14]
lea esi, [esp + 0x270]
mov ecx, esi
call fcn.00444e28
mov al, byte [esi]
cmp al, 0x14
jne 0x44ca93
mov eax, dword [esp + 0x254]
lea ebx, [esp + 0x728]
lea edx, [esp + 0x168]
mov ecx, ebx
mov dword [esp + 4], eax
call fcn.00444e41
lea edi, [esp + 0xea8]
lea esi, [esp + 0xb00]
mov ecx, esi
mov edx, edi
push ebx
call fcn.00447354
pop eax
mov eax, dword [esi]
mov eax, dword [eax + 0x48]
cmp eax, 0x41
jae 0x44cd13
lea esi, [esp + 0x274]
lea edx, [esp + 0xb04]
mov ecx, esi
push eax
call fcn.0041afd7
pop eax
mov byte [esi + 0x68], 0xe
mov dword [esi - 4], 0x80000011
lea esi, [esp + 0xba8]
lea edx, [esp + 0x270]
mov ecx, esi
call fcn.0043d4ba
lea ebx, [esp + 0x168]
mov edx, esi
mov word [esi + 0x7c], 5
mov ecx, ebx
call fcn.00444db5
lea ecx, [esp + 0x680]
mov edx, ebx
call fcn.00444e41
mov ecx, dword [ebp + 0x14]
mov edx, esi
push 1
call fcn.0043deb8
pop eax
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0x58]
mov eax, dword [ecx + 0x54]
mov ecx, dword [ebx + 8]
dec ecx
and ecx, 0xfffffff8
lea esi, [eax + ecx + 8]
mov eax, 0xa8
push eax
push edi
lea eax, [esp + 0x7d8]
push eax
call fcn.0046e6e0
add esp, 0xc
lea eax, [esp + 0x128]
lea ecx, [esp + 0x270]
lea edx, [esp + 0x7d0]
push eax
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push esi
lea eax, [esp + 0x690]
push eax
call fcn.0044736e
add esp, 0x14
lea edx, [esp + 0x3b8]
mov ecx, dword [edx - 0xa8]
push dword [ebp + 0x14]
call fcn.00444f7b
pop eax
mov eax, 0xa8
mov esi, 0xa0
add edi, eax
push esi
push edi
lea edi, [esp + 0x7d8]
push edi
call fcn.0046e6e0
add esp, 0xc
add esi, edi
push 0x288
lea eax, [esp + 0x274]
mov edi, eax
push eax
push esi
call fcn.0046e6e0
add esp, 0xc
cmp byte [esp + 0x10], 0
je 0x44cb07
mov eax, dword [esp + 0x254]
mov esi, 0x328
mov dword [esp + 4], eax
lea eax, [edi + esi]
push 0xe8
lea ecx, [esp + 0x16c]
push ecx
push eax
call fcn.0046e6e0
add esp, 0xc
mov edi, dword [esp + 0x250]
mov ebx, dword [esp + 0x258]
push esi
lea eax, [esp + 0x7d4]
push eax
lea eax, [esp + 0x278]
push eax
call fcn.0046e6e0
add esp, 0xc
push 8
pop edx
mov ecx, 0x420
call fcn.004056e6
mov esi, eax
push 0x410
lea eax, [esp + 0x274]
push eax
push esi
call fcn.0046e6e0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov dword [esi + 0x410], edi
mov dword [esi + 0x414], eax
mov dword [ecx + 4], esi
mov dword [esi + 0x418], ebx
mov dword [ecx + 8], 0x4829f8
jmp 0x44ccee
movsd xmm0, qword [esp + 0x271]
movsd xmm1, qword [esp + 0x278]
mov ecx, dword [esp + 0xc]
movsd qword [ecx + 8], xmm1
movsd qword [ecx + 1], xmm0
mov byte [ecx], al
jmp 0x44cc48
mov ecx, dword [esp + 0x7d4]
mov al, byte [esp + 0x7d3]
mov edx, dword [esp + 0x7d8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7dc]
mov byte [esp + 0x682], al
movzx eax, word [esp + 0x7d1]
mov dword [esp + 8], edx
mov edx, esi
mov dword [esp + 0x10], ecx
mov ecx, edi
mov word [esp + 0x680], ax
call fcn.0040342c
jmp 0x44cc04
mov eax, dword [esp + 0x254]
cmp byte [eax + 0x69], 0
je 0x44cb1c
mov ecx, dword [ebp + 0x14]
call fcn.0044813d
cmp byte [esp + 8], 2
jne 0x44cc55
mov eax, dword [esp + 0x254]
mov esi, 0x328
mov dword [esp + 4], eax
lea eax, [edi + esi]
push 0xe8
lea ecx, [esp + 0x16c]
push ecx
push eax
call fcn.0046e6e0
add esp, 0xc
mov edi, dword [esp + 0x250]
mov ebx, dword [esp + 0x258]
push esi
lea eax, [esp + 0x7d4]
push eax
lea eax, [esp + 0x278]
push eax
call fcn.0046e6e0
add esp, 0xc
push 8
pop edx
mov ecx, 0x420
call fcn.004056e6
mov esi, eax
push 0x410
lea eax, [esp + 0x274]
push eax
push esi
call fcn.0046e6e0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov dword [esi + 0x410], edi
mov dword [esi + 0x414], eax
mov dword [ecx + 4], esi
mov dword [esi + 0x418], ebx
mov dword [ecx + 8], 0x4829c8
jmp 0x44ccee
mov ecx, dword [esp + 0x7d4]
mov al, byte [esp + 0x7d3]
movzx esi, word [esp + 0x7d1]
mov edx, dword [esp + 0x7d8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7dc]
mov byte [esp + 0x682], al
mov word [esp + 0x680], si
mov dword [esp + 8], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xba8]
mov edx, dword [esp + 0xbac]
call fcn.0041ae6b
mov ecx, dword [esp + 0xc]
movzx eax, word [esp + 0x680]
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
mov byte [ecx], bl
mov bl, byte [esp + 0x682]
mov word [ecx + 1], ax
mov byte [ecx + 3], bl
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x10]
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edx
mov dword [esp + 4], 0
jmp 0x44b65d
mov eax, dword [esp + 0x254]
mov esi, 0x328
mov dword [esp + 4], eax
lea eax, [edi + esi]
push 0xe8
lea ecx, [esp + 0x16c]
push ecx
push eax
call fcn.0046e6e0
add esp, 0xc
mov edi, dword [esp + 0x250]
mov ebx, dword [esp + 0x258]
push esi
lea eax, [esp + 0x7d4]
push eax
lea eax, [esp + 0x278]
push eax
call fcn.0046e6e0
add esp, 0xc
push 8
pop edx
mov ecx, 0x420
call fcn.004056e6
mov esi, eax
push 0x410
lea eax, [esp + 0x274]
push eax
push esi
call fcn.0046e6e0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov dword [esi + 0x410], edi
mov dword [esi + 0x414], eax
mov dword [ecx + 4], esi
mov dword [esi + 0x418], ebx
mov dword [ecx + 8], 0x4829e0
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x98]
mov byte [eax], 0x14
call fcn.0044ceb7
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
call fcn.00430d99
jmp 0x44a96a
ud2