Function at 0x44c800
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x260
lea ecx, [esp + 0x50]
lea esi, [esp + 0x250]
lea eax, [esp + 0x174]
and dword [esi], 0
and dword [esi + 8], 0
and dword [ecx], 0
and dword [esi + 0xc], 0
mov dword [eax], 0x34
push 4
push 0x3000
push eax
push ecx
push esi
call fcn.00449ba6
add esp, 0x14
test al, 1
je 0x44a8a7
push esi
call fcn.004499df
pop eax
xor eax, eax
jmp 0x44b089
mov ebp, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x250]
movsd xmm1, qword [esp + 0x258]
mov ebx, dword [esp + 0x274]
lea esi, [ebp + 0x24]
movsd qword [esp + 0x6c], xmm1
movsd qword [esp + 0x64], xmm0
push esi
call fcn.004499df
pop eax
movsd xmm0, qword [esp + 0x64]
movsd xmm1, qword [esp + 0x6c]
cmp bx, 1
movsd qword [ebp + 0x2c], xmm1
movsd qword [ebp + 0x24], xmm0
mov byte [ebp + 4], 0
je 0x44aa35
movzx ecx, bx
xor eax, eax
cmp ecx, 2
jne 0x44b089
cmp dword [esp + 0x284], 0
je 0x44b089
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x27c]
mov edx, dword [esp + 0x284]
lea edi, [esp + 0x64]
mov dword [esp + 0x24], esi
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x14], ecx
mov ecx, edi
call fcn.00449a9c
mov ecx, edi
xor edx, edx
call fcn.00448f92
mov eax, dword [edi + 4]
mov ecx, edi
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x1c], eax
call fcn.0043c3d2
mov edx, dword [esp + 0x284]
lea edi, [esp + 0x64]
mov ecx, edi
call fcn.00449a9c
mov esi, dword [edi + 4]
mov ecx, edi
call fcn.0043c3d2
lea edi, [esp + 0xd4]
mov edx, esi
mov ecx, edi
call fcn.00449b58
lea esi, [esp + 0xb0]
push 0x449cf6
push dword [edi + 8]
push dword [edi + 4]
push esi
call fcn.00449e0b
add esp, 0x10
cmp byte [esi], 1
jne 0x44ab36
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x44ac6d
mov ecx, dword [eax + 0x3c]
cmp dword [ecx + eax], 0x4550
jne 0x44ac6d
push ebp
call fcn.0044bd28
pop ecx
test al, al
je 0x44acf0
push ebp
call fcn.0044bed0
pop ecx
test al, al
je 0x44acf0
push ebp
call fcn.0044c15a
pop ecx
test al, al
je 0x44acf0
bt ebx, 0x14
jb 0x44b11d
bt ebx, 0x10
jae 0x44aa28
mov eax, dword [ebp]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x28]
test ecx, ecx
je 0x44acf0
add ecx, eax
push 0
push 1
push eax
call ecx
test eax, eax
js 0x44b61f
mov byte [ebp + 4], 1
and dword [ebp + 0x14], 0
jmp 0x44acf0
mov edi, dword [esp + 0x278]
test edi, edi
je 0x44aad7
lea ecx, [esp + 0x184]
mov dword [ebp + 0x1c], edi
lea eax, [esp + 0x144]
and dword [ecx], 0
mov dword [eax], 0x208
push 4
push 0x3000
push eax
push ecx
push esi
call fcn.00449ba6
add esp, 0x14
test al, 1
je 0x44ab58
lea eax, [0x4851e1]
lea ecx, [esp + 0xec]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0xdb053083
push dword [ecx]
push eax
call fcn.004495fc
pop ecx
pop edx
and dword [esp + 0x8c], 0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x64], xmm0
movups xmmword [esp + 0x74], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x84], xmm0
cmp ecx, 0x2b
ja 0x44ac0d
mov edx, dword [ecx + 0x48b2e3]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x64], edx
add ecx, 4
jmp 0x44aabc
lea eax, [0x485934]
lea ecx, [esp + 0xec]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x37504cbc
push dword [ecx]
push eax
call fcn.004494cc
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1b8], xmm0
cmp ecx, 0xf
ja 0x44ab1f
mov edx, dword [ecx + 0x48b30f]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x1b8], edx
add ecx, 4
jmp 0x44ab05
lea esi, [esp + 0xec]
lea edx, [esp + 0x1b8]
mov ecx, esi
push 0x10
jmp 0x44b06a
mov eax, dword [esp + 0xb0]
test al, 1
jne 0x44bbd6
mov eax, dword [esp + 0xb4]
mov dword [ebp], eax
mov byte [ebp + 4], 1
jmp 0x44acf0
mov dword [esp + 0x24], esi
push dword [esp + 0x144]
push 0
push dword [esp + 0x18c]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x184]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x20], eax
mov dword [ebp + 0x20], eax
push 0xfffffffffffffffe
pop esi
xor eax, eax
inc eax
dec eax
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x44ab8c
neg eax
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
test esi, esi
je 0x44ac21
mov edx, edi
movzx edi, word [edi + ebp*2]
mov cl, 1
cmp edi, 0x2f
je 0x44abe4
cmp edi, 0x5c
je 0x44abe4
mov ecx, dword [esp + 0x1c]
test bl, 1
mov ebx, 1
cmovne ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
cmovne ecx, ebx
mov dword [esp + 0x14], ecx
xor ecx, ecx
cmp di, 0x2e
mov edi, dword [esp + 0x18]
mov ebx, 1
cmove edi, ebp
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x10]
cmove edi, ebx
add esi, 0xfffffffe
inc ebp
mov ebx, ecx
mov dword [esp + 0x10], edi
mov edi, edx
jmp 0x44abae
lea esi, [esp + 0xec]
lea edx, [esp + 0x64]
mov ecx, esi
push 0x2c
jmp 0x44b06a
mov ecx, dword [esp + 0x14]
cmp ecx, 1
jne 0x44ad03
cmp dword [esp + 0x10], 1
jne 0x44ad03
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
cmp esi, 0xffffffff
je 0x44bca3
lea ecx, [esi + 1]
cmp ecx, edx
jb 0x44bcad
cmp esi, eax
jb 0x44ad1c
push 0x48b2ac
push eax
push ecx
call fcn.0047c380
lea eax, [0x48ab89]
lea ecx, [esp + 0x64]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x4e192580
push dword [ecx]
push eax
call fcn.004497d5
pop ecx
pop edx
and dword [esp + 0xaa], 0
and dword [esp + 0xa6], 0
xor ecx, ecx
cmp ecx, 7
ja 0x44acb7
mov edx, dword [ecx + 0x48b27d]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0xa6], edx
add ecx, 4
jmp 0x44ac9d
movzx eax, word [eax + 8]
lea esi, [esp + 0x64]
lea edx, [esp + 0xa6]
mov ecx, esi
xor eax, 0x3149
mov word [edx + 8], ax
push 0xa
call fcn.004472f0
pop eax
lea ecx, [ebp + 8]
call fcn.00447062
mov eax, dword [esi + 8]
mov dword [ebp + 0x10], eax
movsd xmm0, qword [esi]
movsd qword [ebp + 8], xmm0
lea ecx, [esp + 0xd4]
call fcn.0043c3d2
mov eax, ebp
jmp 0x44b089
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
cmp ecx, 1
jne 0x44aea4
cmp edx, eax
ja 0x44bcb9
lea ecx, [edi + edx*2]
mov edi, dword [esp + 0x20]
xor edx, edx
cmp eax, edx
je 0x44ad34
movzx esi, word [ecx + edx*2]
mov word [edi + edx*2], si
inc edx
jmp 0x44ad25
push 0x4afa9c
call fcn.00447277
pop ecx
cmp dword [eax], 0
je 0x44ae44
push 0x4afaa4
call fcn.004471ef
pop ecx
cmp dword [eax], 0
je 0x44af22
push 0x4afaac
call fcn.004471ab
pop ecx
cmp dword [eax], 0
je 0x44af82
push 0x4afab4
call fcn.004471cd
pop ecx
cmp dword [eax], 0
je 0x44b006
push 0x4afa9c
call fcn.00447277
pop ecx
mov ebx, dword [eax]
test ebx, ebx
je 0x44bcc5
push 0x4afaa4
call fcn.004471ef
pop ecx
mov esi, dword [eax]
test esi, esi
je 0x44bccf
push 0x4afaac
call fcn.004471ab
pop ecx
mov edi, dword [eax]
test edi, edi
je 0x44bcd9
push 0x4afab4
call fcn.004471cd
pop ecx
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x10], eax
je 0x44bce3
push 3
pop eax
push 0
push 0
push eax
push 0
push eax
push 0x80000000
push dword [ebp + 0x1c]
call ebx
mov ebx, eax
inc eax
cmp eax, 2
jae 0x44b094
lea eax, [0x483db6]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0xd49ffe27
push dword [ecx]
push eax
call fcn.004491bc
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0xc0], xmm0
cmp ecx, 0xf
ja 0x44afe0
mov edx, dword [ecx + 0x48b3cb]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0xc0], edx
add ecx, 4
jmp 0x44ae26
lea eax, [0x47e82d]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x434ee2aa
push dword [ecx]
push eax
call fcn.00449152
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x184], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x194], xmm0
cmp ecx, 0x17
ja 0x44ae93
mov edx, dword [ecx + 0x48b426]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x184], edx
add ecx, 4
jmp 0x44ae79
mov al, byte [eax + 0x18]
lea edx, [esp + 0x184]
xor al, 0xa5
jmp 0x44b061
lea eax, [0x489221]
lea ecx, [esp + 0xec]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0xe238b809
push dword [ecx]
push eax
call fcn.004497f6
pop ecx
pop edx
and dword [esp + 0x204], 0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1f4], xmm0
cmp ecx, 0x13
ja 0x44aef4
mov edx, dword [ecx + str.p_n8_v]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x1f4], edx
add ecx, 4
jmp 0x44aeda
movzx ecx, byte [eax + 0x16]
movzx eax, word [eax + 0x14]
lea edx, [esp + 0x1f4]
lea esi, [esp + 0xec]
xor eax, 0x4c68
xor cl, 0xbf
mov word [edx + 0x14], ax
mov byte [edx + 0x16], cl
mov ecx, esi
push 0x17
jmp 0x44b06a
lea eax, [0x483166]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0xe5ec4faf
push dword [ecx]
push eax
call fcn.004498b0
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0xec], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0xfc], xmm0
cmp ecx, 0x17
ja 0x44af71
mov edx, dword [ecx + 0x48b40d]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0xec], edx
add ecx, 4
jmp 0x44af57
mov al, byte [eax + 0x18]
lea edx, [esp + 0xec]
xor al, 0xcf
jmp 0x44b061
lea eax, [0x47c72c]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x60fae3bf
push dword [ecx]
push eax
call fcn.00449695
pop ecx
pop edx
and dword [esp + 0x38], 0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x28], xmm0
cmp ecx, 0x13
ja 0x44afc4
mov edx, dword [ecx + 0x48b3f7]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x28], edx
add ecx, 4
jmp 0x44afad
movzx eax, word [eax + 0x14]
mov esi, esp
lea edx, [esp + 0x28]
mov ecx, esi
xor eax, 0x422a
mov word [edx + 0x14], ax
push 0x16
jmp 0x44b06a
movzx ecx, byte [eax + 0x12]
movzx eax, word [eax + 0x10]
lea edx, [esp + 0xc0]
mov esi, esp
xor eax, 0x13e9
xor cl, 0xd
mov word [edx + 0x10], ax
mov byte [edx + 0x12], cl
mov ecx, esi
push 0x13
jmp 0x44b06a
lea eax, [0x47d176]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x916ea025
push dword [ecx]
push eax
call fcn.0044929a
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1b8], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x1c8], xmm0
cmp ecx, 0x17
ja 0x44b055
mov edx, dword [ecx + 0x48b3de]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x1b8], edx
add ecx, 4
jmp 0x44b03b
mov al, byte [eax + 0x18]
lea edx, [esp + 0x1b8]
xor al, 0x67
mov esi, esp
mov byte [edx + 0x18], al
mov ecx, esi
push 0x19
call fcn.004472f0
pop eax
lea ecx, [ebp + 8]
call fcn.00447062
mov eax, dword [esi + 8]
mov dword [ebp + 0x10], eax
mov eax, ebp
movsd xmm0, qword [esi]
movsd qword [ebp + 8], xmm0
add esp, 0x260
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
push ebx
call esi
cmp eax, 0xffffffff
je 0x44b234
mov esi, eax
lea eax, [esp + 0xd4]
mov ecx, esp
and dword [eax], 0
mov dword [ecx], esi
push 4
push 0x3000
push ecx
push eax
push dword [esp + 0x34]
call fcn.00449ba6
add esp, 0x14
test al, 1
je 0x44b29d
lea eax, [0x47d56b]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x401187ad
push dword [ecx]
push eax
call fcn.00449274
pop ecx
pop edx
and dword [esp + 0x84], 0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x64], xmm0
movups xmmword [esp + 0x74], xmm0
cmp ecx, 0x23
ja 0x44b2e3
mov edx, dword [ecx + 0x48b38e]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x64], edx
add ecx, 4
jmp 0x44b102
push 0x4afa64
call fcn.00447189
pop ecx
cmp dword [eax], 0
je 0x44b2ff
push 0x4afa74
call fcn.00447255
pop ecx
cmp dword [eax], 0
je 0x44b38b
push 0x4afa64
call fcn.00447189
pop ecx
mov esi, dword [eax]
test esi, esi
je 0x44bced
push 0x4afa74
call fcn.00447255
pop ecx
mov edi, dword [eax]
test edi, edi
je 0x44bcf7
mov eax, dword [ebp + 0x14]
lea ebx, [esp + 0x54]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x3c]
and dword [ebx + 4], 0
and dword [ebx], 0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x178]
and dword [eax + 4], 0
and dword [eax], 0
push dword [ebp + 0x1c]
push eax
call edi
push dword [ebp + 0x20]
push ebx
call edi
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x180]
and dword [ecx], 0
mov dword [eax], 0xb8
push 4
push 0x3000
push eax
push ecx
push dword [esp + 0x34]
call fcn.00449ba6
add esp, 0x14
test al, 1
je 0x44b48f
lea eax, [0x47f0a5]
lea ecx, [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x4d5d31e8
push dword [ecx]
push eax
call fcn.004497b2
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1f4], xmm0
movups xmmword [esp + 0x204], xmm0
movups xmmword [esp + 0x214], xmm0
movups xmmword [esp + 0x224], xmm0
cmp ecx, 0x3f
ja 0x44b592
mov edx, dword [ecx + 0x48b6dc]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x1f4], edx
add ecx, 4
jmp 0x44b216
lea eax, [0x4823da]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x97cdc600
push dword [ecx]
push eax
call fcn.0044924e
pop ecx
pop edx
and dword [esp + 0x154], 0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x144], xmm0
cmp ecx, 0x13
ja 0x44b27f
mov edx, dword [ecx + 0x48b3b4]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x144], edx
add ecx, 4
jmp 0x44b265
movzx ecx, byte [eax + 0x16]
movzx eax, word [eax + 0x14]
lea edx, [esp + 0x144]
mov esi, esp
xor eax, 0x7861
xor cl, 0x1a
jmp 0x44af12
mov eax, dword [esp + 0xd4]
mov dword [ebp + 0x14], eax
push 0
push 0
push esi
push eax
push ebx
call edi
test eax, eax
je 0x44b401
push ebx
call dword [esp + 0x14]
test eax, eax
je 0x44b5a7
mov edx, dword [esp + 0x284]
mov ebx, dword [esp + 0x274]
test edx, edx
jne 0x44a964
mov esi, dword [ebp + 0x20]
jmp 0x44a979
movzx eax, word [eax + 0x24]
mov esi, esp
lea edx, [esp + 0x64]
mov ecx, esi
xor eax, 0xc5a3
mov word [edx + 0x24], ax
push 0x26
jmp 0x44b06a
lea eax, [0x485416]
lea ecx, [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0xcfe965d3
push dword [ecx]
push eax
call fcn.004496f7
pop ecx
pop edx
and dword [esp + 0x16c], 0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x144], xmm0
movups xmmword [esp + 0x154], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x164], xmm0
cmp ecx, 0x2b
ja 0x44b360
mov edx, dword [ecx + 0x48b750]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x144], edx
add ecx, 4
jmp 0x44b346
movzx ecx, byte [eax + 0x2e]
movzx eax, word [eax + 0x2c]
lea edx, [esp + 0x144]
lea esi, [esp + 0x28]
xor eax, 0x85e3
xor cl, 0xf0
mov word [edx + 0x2c], ax
mov byte [edx + 0x2e], cl
mov ecx, esi
push 0x2f
jmp 0x44acd3
lea eax, [0x47c28b]
lea ecx, [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x60d76428
push dword [ecx]
push eax
call fcn.004495d4
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x184], xmm0
movups xmmword [esp + 0x194], xmm0
movups xmmword [esp + 0x1a4], xmm0
cmp ecx, 0x2f
ja 0x44b3e0
mov edx, dword [ecx + 0x48b71e]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x184], edx
add ecx, 4
jmp 0x44b3c6
movzx eax, word [eax + 0x30]
lea esi, [esp + 0x28]
lea edx, [esp + 0x184]
mov ecx, esi
xor eax, 0xbcdb
mov word [edx + 0x30], ax
push 0x32
jmp 0x44acd3
lea eax, [0x4828e0]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0xf50c5ba4
push dword [ecx]
push eax
call fcn.00449197
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x128], xmm0
cmp ecx, 0xf
ja 0x44b444
mov edx, dword [ecx + 0x48b37b]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x128], edx
add ecx, 4
jmp 0x44b42a
movzx ecx, byte [eax + 0x12]
movzx eax, word [eax + 0x10]
lea edx, [esp + 0x128]
mov esi, esp
xor eax, 0xfbab
xor cl, 0x48
mov word [edx + 0x10], ax
mov byte [edx + 0x12], cl
mov ecx, esi
push 0x13
call fcn.004472f0
pop eax
lea ecx, [ebp + 8]
call fcn.00447062
mov eax, dword [esi + 8]
mov dword [ebp + 0x10], eax
movsd xmm0, qword [esi]
movsd qword [ebp + 8], xmm0
push ebx
call dword [esp + 0x14]
jmp 0x44acfc
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x44b688
lea eax, [edi + 0x88]
push eax
call esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x9c], 1
mov dword [edi + 0x94], 4
xor edx, edx
mov eax, dword [eax + ecx + 0x34]
and dword [edi + 0x84], 0
lea ecx, [esp + 0x28]
mov dword [edi + 0x80], eax
movsd xmm0, qword [esp + 0x54]
movsd qword [ecx], xmm0
call fcn.0044c532
mov dword [edi + 0x90], eax
mov esi, dword [ebp]
push 0x4afa7c
call fcn.00447200
pop ecx
cmp dword [eax], 0
je 0x44acf0
mov dword [esp + 0x20], esi
mov dword [esp + 0xc], ebp
push 0x4afa7c
call fcn.00447200
pop ecx
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x44bd01
push 0x4afa8c
call fcn.00447233
pop ecx
cmp dword [eax], 0
je 0x44b7f0
push 0x4afa8c
call fcn.00447233
pop ecx
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x44bd0b
lea eax, [0x47dbec]
mov ecx, esp
mov esi, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x88e6f58f
push dword [esi]
push eax
call fcn.004498ce
pop ecx
pop edx
and dword [esi + 4], 0
and dword [esi], 0
xor ecx, ecx
cmp ecx, 7
ja 0x44b6fa
mov edx, dword [ecx + 0x48b7a0]
xor edx, dword [eax + ecx]
mov dword [esp + ecx], edx
add ecx, 4
jmp 0x44b578
movzx eax, word [eax + 0x40]
lea edx, [esp + 0x1f4]
xor eax, 0x5f3c
jmp 0x44b6e9
lea eax, [0x47e63e]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x310e5222
push dword [ecx]
push eax
call fcn.0044920d
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1f4], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x204], xmm0
cmp ecx, 0x17
ja 0x44b5f6
mov edx, dword [ecx + 0x48b360]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x1f4], edx
add ecx, 4
jmp 0x44b5dc
movzx ecx, byte [eax + 0x1a]
movzx eax, word [eax + 0x18]
lea edx, [esp + 0x1f4]
mov esi, esp
xor eax, 0xdaff
xor cl, 0xf3
mov word [edx + 0x18], ax
mov byte [edx + 0x1a], cl
mov ecx, esi
push 0x1b
jmp 0x44b06a
lea eax, [0x487f6e]
lea ecx, [esp + 0x64]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x9bf44cef
push dword [ecx]
push eax
call fcn.0044973e
pop ecx
pop edx
and dword [esp + 0x248], 0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x238], xmm0
cmp ecx, 0x13
ja 0x44b66c
mov edx, dword [ecx + 0x48b287]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x238], edx
add ecx, 4
jmp 0x44b652
mov al, byte [eax + 0x14]
lea esi, [esp + 0x64]
lea edx, [esp + 0x238]
mov ecx, esi
xor al, 0x63
mov byte [edx + 0x14], al
push 0x15
jmp 0x44acd3
lea eax, [0x483f11]
lea ecx, [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x6828a80
push dword [ecx]
push eax
call fcn.004498e6
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x64], xmm0
movups xmmword [esp + 0x74], xmm0
movups xmmword [esp + 0x84], xmm0
movups xmmword [esp + 0x94], xmm0
cmp ecx, 0x3f
ja 0x44b6dc
mov edx, dword [ecx + 0x48b69a]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x64], edx
add ecx, 4
jmp 0x44b6c5
movzx eax, word [eax + 0x40]
lea edx, [esp + 0x64]
xor eax, 0x1c98
lea esi, [esp + 0x28]
mov word [edx + 0x40], ax
mov ecx, esi
push 0x42
jmp 0x44acd3
mov al, byte [eax + 8]
movsd xmm0, qword [esp]
lea ebp, [esp + 0xe0]
lea ebx, [esp + 0xb8]
xor al, 0x58
movsd qword [ebp], xmm0
mov byte [ebp + 8], al
push 0x449d6e
push 9
push ebp
push ebx
call fcn.00449e62
add esp, 0x10
cmp byte [ebx], 0
je 0x44b77f
lea eax, [0x48198c]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0xfb333c90
push dword [ecx]
push eax
call fcn.004492c1
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x128], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x138], xmm0
cmp ecx, 0x17
ja 0x44b7ad
mov edx, dword [ecx + 0x48b7f2]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x128], edx
add ecx, 4
jmp 0x44b765
mov eax, dword [esp + 0xb8]
test al, 1
jne 0x44bd15
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x48], eax
mov eax, ecx
and eax, 0xfffffff8
je 0x44b7e5
mov ecx, dword [eax + 8]
cmp ecx, 7
ja 0x44b79c
jmp 0x44b7e8
mov al, byte [eax + 0x18]
mov esi, esp
lea edx, [esp + 0x128]
mov ecx, esi
xor al, 0x1e
mov byte [edx + 0x18], al
push 0x19
call fcn.004472f0
pop eax
mov edi, dword [esp + 0xc]
lea ecx, [edi + 8]
call fcn.00447062
mov eax, dword [esi + 8]
mov dword [edi + 0x10], eax
movsd xmm0, qword [esi]
movsd qword [edi + 8], xmm0
jmp 0x44b7f0
mov cl, byte [eax + 8]
test cl, cl
mov dword [esp + 0x60], eax
je 0x44b7f9
mov ebp, dword [esp + 0xc]
jmp 0x44acf0
mov eax, dword [esp + 0x48]
xor ebx, ebx
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 0x3c]
movzx esi, word [ecx + eax + 6]
lea edx, [ecx + eax]
movzx eax, word [ecx + eax + 0x14]
mov word [esp + 0x14], si
lea esi, [eax + edx + 0x18]
cmp bx, word [esp + 0x14]
je 0x44b891
lea eax, [0x4817cf]
mov ecx, esp
mov dword [esp], eax
mov eax, dword [esp]
mov dword [esp], 0xa777add
push dword [esp]
push eax
call fcn.004496d8
pop ecx
pop edx
and dword [esp + 4], 0
and dword [esp], 0
xor ecx, ecx
cmp ecx, 7
ja 0x44b863
mov edx, dword [ecx + 0x48b7dc]
xor edx, dword [eax + ecx]
mov dword [esp + ecx], edx
add ecx, 4
jmp 0x44b84d
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], eax
push 8
pop eax
push eax
push esi
push eax
push ebp
call fcn.00449c67
add esp, 0x10
cmp al, 3
je 0x44b8e2
inc ebx
add esi, 0x28
jmp 0x44b81b
lea eax, [0x489065]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x303198af
push dword [ecx]
push eax
call fcn.004493a2
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x28], xmm0
movups xmmword [esp + 0x38], xmm0
cmp ecx, 0x1f
ja 0x44b8d3
mov edx, dword [ecx + 0x48b7bc]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x28], edx
add ecx, 4
jmp 0x44b8bc
mov esi, esp
lea edx, [esp + 0x28]
mov ecx, esi
push 0x20
jmp 0x44b7c2
mov ebx, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov eax, dword [esp + 0x48]
lea ebp, [esp + 0x60]
add esi, dword [eax + 0x18]
add ebx, 0xfffffffc
sub ebx, 1
jb 0x44b94c
push 4
push ebp
push esi
call dword [esp + 0x28]
cmp eax, 4
je 0x44b90b
inc esi
jmp 0x44b8f6
test esi, esi
je 0x44b94c
cmp dword [esi], 0
je 0x44b7f0
cmp dword [esi + 4], 0
je 0x44b7f0
mov eax, esi
mov edx, dword [esp + 0x20]
add eax, 0xffffff98
mov ecx, dword [eax + 0x18]
cmp ecx, edx
ja 0x44b93c
jb 0x44b941
mov ecx, dword [eax + 0x50]
inc dword [ecx + 0xc]
jmp 0x44b92b
mov edx, dword [eax + 0x68]
jmp 0x44b944
mov edx, dword [eax + 0x6c]
test edx, edx
je 0x44b9b7
mov eax, edx
jmp 0x44b924
lea eax, [0x480927]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x4a941829
push dword [ecx]
push eax
call fcn.00449471
pop ecx
pop edx
and dword [esp + 0xc8], 0
xorps xmm0, xmm0
xor ecx, ecx
movsd qword [esp + 0xc0], xmm0
cmp ecx, 0xb
ja 0x44b998
mov edx, dword [ecx + 0x48b7e4]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0xc0], edx
add ecx, 4
jmp 0x44b97e
movzx eax, word [eax + 0xc]
mov esi, esp
lea edx, [esp + 0xc0]
mov ecx, esi
xor eax, 0x2c40
mov word [edx + 0xc], ax
push 0xe
jmp 0x44b7c2
xor edx, edx
cmp ecx, dword [esp + 0x20]
lea ecx, [edi + 0x68]
setbe dl
add eax, 0x68
push ecx
push edx
push eax
push esi
call dword [esp + 0x5c]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
lea esi, [edi + 0x50]
mov eax, dword [eax]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + edx + 0x50]
mov dword [edi + 0x20], eax
mov eax, dword [ecx + edx + 8]
mov dword [edi + 0x44], eax
movsd xmm0, qword [esp + 0x178]
movsd qword [edi + 0x24], xmm0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x2c], eax
lea eax, [esp + 0x128]
mov dword [edi + 0x30], ecx
mov word [edi + 0x38], 1
mov dword [edi + 0x34], 0x8c004
mov dword [eax], 0x2c
push 4
push 0x3000
push eax
push esi
push dword [esp + 0x34]
call fcn.00449ba6
add esp, 0x14
test al, 1
je 0x44baa4
lea eax, [0x486f01]
lea ecx, [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x3488c1ad
push dword [ecx]
push eax
call fcn.004494eb
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0xec], xmm0
movups xmmword [esp + 0xfc], xmm0
movups xmmword [esp + 0x10c], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x11c], xmm0
cmp ecx, 0x37
ja 0x44bb27
mov edx, dword [ecx + 0x48b65f]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0xec], edx
add ecx, 4
jmp 0x44ba86
mov eax, dword [esi]
test eax, eax
je 0x44bb40
mov dword [edi + 0x54], eax
mov dword [edi + 0x58], eax
mov dword [eax + 0x20], 9
lea ecx, [edi + 0x54]
lea ebx, [edi + 0x3c]
mov eax, dword [edi + 0x50]
mov dword [eax], ecx
mov eax, dword [edi + 0x50]
mov dword [eax + 4], ecx
mov eax, dword [edi + 0x50]
mov dword [eax + 0xc], 1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], ebx
mov dword [esp + 0x14], eax
mov eax, dword fs:[0x30]
test eax, eax
je 0x44bc81
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44bc81
mov ecx, dword [eax + 0x1c]
add eax, 0x1c
mov ebp, ecx
mov ecx, dword [ecx]
mov edx, dword [ebp + 0x2c]
lea esi, [ebp + 0x2c]
cmp edx, esi
je 0x44bb08
cmp dword [edx], esi
je 0x44bbf3
cmp ecx, eax
jne 0x44bb08
jmp 0x44bc81
movzx ecx, byte [eax + 0x3a]
movzx eax, word [eax + 0x38]
lea edx, [esp + 0xec]
xor eax, 0x10ab
xor cl, 1
jmp 0x44bbb8
lea eax, [0x4851eb]
lea ecx, [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x1ddb7973
push dword [ecx]
push eax
call fcn.0044922f
pop ecx
pop edx
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1b8], xmm0
movups xmmword [esp + 0x1c8], xmm0
movups xmmword [esp + 0x1d8], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x1e8], xmm0
cmp ecx, 0x37
ja 0x44bba1
mov edx, dword [ecx + 0x48b624]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x1b8], edx
add ecx, 4
jmp 0x44bb87
movzx ecx, byte [eax + 0x3a]
movzx eax, word [eax + 0x38]
lea edx, [esp + 0x1b8]
xor eax, 0x2bf5
xor cl, 0xed
mov word [edx + 0x38], ax
lea esi, [esp + 0x28]
mov byte [edx + 0x3a], cl
mov ecx, esi
push 0x3b
call fcn.004472f0
pop eax
mov ebp, dword [esp + 0xc]
jmp 0x44acd9
lea ecx, [esp + 0x64]
mov byte [ecx], ah
push 0x48b29c
push 0x48ae78
push ecx
push 0x2b
push 0x48ae4c
call fcn.0047c2b0
add ebp, 0xfffffff0
xor edx, edx
lea ecx, [esp + 0x28]
movsd xmm0, qword [ebp + 0x2c]
inc edx
movsd qword [ecx], xmm0
call fcn.0044c532
mov ebp, dword [ebp + 0x3c]
shl eax, 3
cmp eax, ebp
je 0x44bc81
movsd xmm0, qword [edi + 0x2c]
sub ebp, eax
xor edx, edx
lea ecx, [esp + 0x28]
inc edx
movsd qword [ecx], xmm0
call fcn.0044c532
lea eax, [ebp + eax*8]
cmp dword [esp + 0x14], 0
mov ecx, dword [eax + 4]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], ecx
mov dword [ecx], ebx
mov dword [eax + 4], ebx
je 0x44bc81
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x10]
lea eax, [esi + 0xc]
mov dword [edi], eax
lea eax, [esi + 0x14]
mov dword [edi + 4], ecx
mov dword [ecx], edi
mov dword [esi + 0x10], edi
lea ecx, [edi + 8]
mov edx, dword [esi + 0x18]
mov dword [edi + 8], eax
lea eax, [esi + 0x1c]
mov dword [edi + 0xc], edx
mov dword [edx], ecx
mov dword [esi + 0x18], ecx
lea ecx, [edi + 0x10]
mov edx, dword [esi + 0x20]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov dword [edx], ecx
mov dword [esi + 0x20], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x274]
mov eax, dword [eax + ecx + 0x28]
add eax, dword [ebp]
mov dword [edi + 0x1c], eax
jmp 0x44a9ff
push 0x48b2ac
call fcn.0047c480
push 0x48b2ac
push ecx
push edx
call fcn.0047c3e0
push 0x48b2bc
push eax
push edx
call fcn.0047c320
push 0x48b320
call fcn.0047bf30
push 0x48b330
call fcn.0047bf30
push 0x48b340
call fcn.0047bf30
push 0x48b350
call fcn.0047bf30
push 0x48b604
call fcn.0047bf30
push 0x48b614
call fcn.0047bf30
push 0x48b80c
call fcn.0047bf30
push 0x48b790
call fcn.0047bf30
mov byte [esp], ah
push 0x48b7ac
push 0x48ae78
push esi
jmp 0x44bbe7
jmp 0x44a853