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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x768
call 0x485e58
pop esi
lea eax, [esp + 0x4d8]
push 0x1b0
push ecx
push eax
call fcn.005010b0
add esp, 0xc
lea eax, [esp + 0x5bc]
mov cl, 1
mov bl, 1
mov edi, dword [eax]
mov dword [esp], ecx
mov cl, 1
mov dword [esp + 0x38], ecx
mov cl, 1
mov dword [esp + 0x4c], ecx
test edi, edi
mov dword [esp + 0x78], edi
jne 0x489937
mov eax, dword [esp + 0x5c8]
movsd xmm0, qword [esp + 0x5c0]
cmp byte [esp + 0x674], 0
mov dword [esp + 0x48], esi
mov dword [esp + 0x1a0], eax
movsd qword [esp + 0x198], xmm0
je 0x4864d8
mov eax, dword [0x58b06c]
cmp eax, 2
je 0x485f16
lea edx, [0x58b070]
lea esi, [esp + 0x88]
mov eax, 0x58b06c
lea ecx, [esp + 0x138]
mov dword [esi], edx
lea edx, [esp + 0x228]
mov dword [ecx], eax
mov dword [edx], ecx
lea ecx, [esp + 0x1c8]
mov dword [edx + 4], esi
mov dword [edx + 8], ecx
mov ecx, 0x58b06c
push 0x53dc44
call fcn.0043e06e
pop eax
mov eax, dword [0x58b070]
lock inc dword [eax]
jle 0x489f1a
mov dword [esp + 0x240], 3
mov dword [esp + 0x244], eax
and dword [esp + 0x22c], 0
lea esi, [esp + 0x138]
mov edx, 0x54edf9
mov ecx, esi
push 8
call fcn.004cabb0
pop eax
cmp byte [esi + 0xc], 3
jne 0x485f7c
mov eax, dword [esp + 0x140]
movsd xmm0, qword [esp + 0x138]
mov dword [esp + 0x1d0], eax
movsd qword [esp + 0x1c8], xmm0
jmp 0x485fc5
movsd xmm0, qword [esp + 0x138]
movsd xmm1, qword [esp + 0x140]
lea esi, [esp + 0x88]
lea edi, [esp + 0x1c8]
mov edx, 0x54ee01
mov ecx, edi
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
push 8
call fcn.004cabb0
pop eax
mov ecx, esi
call fcn.0048b555
cmp byte [edi + 0xc], 3
jne 0x486450
mov eax, dword [esp + 0x1c8]
mov esi, dword [esp + 0x1d0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1cc]
test esi, esi
je 0x486448
lea ecx, [esp + 0x380]
lea edi, [esp + 0x140]
and dword [ecx], 0
mov dword [ecx + 4], 1
and dword [ecx + 8], 0
lea ecx, [esp + 0x410]
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
push 0x2c
pop edx
mov ecx, edi
push esi
mov dword [esp + 0x3c], eax
push eax
call fcn.00475b65
pop eax
pop ecx
and dword [edi - 8], 0
mov dword [edi - 4], esi
mov word [edi + 0x1c], 1
push 0xa
pop ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0x138]
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0xad], 0
jne 0x4863de
mov edx, dword [esp + 0x90]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov eax, esi
mov esi, edi
sub esi, ecx
setb bl
cmp edi, dword [esp + 0x94]
seta bh
add edx, ecx
mov ecx, 0
or bh, bl
test bh, bh
cmove eax, esi
cmovne edx, ecx
jne 0x486147
mov ecx, dword [esp + 0xa0]
cmp eax, 8
movzx ecx, byte [esp + ecx + 0xa3]
jae 0x4860b6
push eax
call fcn.00430e70
jmp 0x4860bc
push eax
call fcn.0041ac30
pop ecx
cmp eax, 1
jne 0x486139
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
lea ecx, [edx + ecx + 1]
mov dword [esp + 0x98], ecx
mov edx, ecx
mov ebx, dword [esp + 0xa0]
sub edx, ebx
jb 0x48612d
cmp ecx, eax
ja 0x48612d
mov edi, dword [esp + 0x90]
xor ecx, ecx
mov dword [esp + 4], edx
add edi, edx
mov edx, ebx
push 0x5808a4
push 4
lea eax, [esp + 0xac]
push eax
call fcn.004586bb
add esp, 0xc
mov dword [esp], eax
mov eax, edx
mov ecx, edi
mov edx, ebx
push eax
push dword [esp + 4]
call fcn.0043c53d
pop ecx
pop edx
test al, al
jne 0x48618f
mov edx, dword [esp + 0x90]
jmp 0x486062
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x98], eax
cmp byte [esp + 0xad], 0
lea esi, [esp + 0x138]
jne 0x4863de
mov byte [esp + 0xad], 1
cmp byte [esp + 0xac], 0
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
jne 0x486184
cmp edx, ecx
je 0x4863de
sub edx, ecx
add ecx, dword [esp + 0x90]
jmp 0x4861b9
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x138]
sub dword [esp + 4], eax
mov dword [esp + 0x88], edx
add ecx, eax
mov edx, dword [esp + 4]
call fcn.0043c341
test eax, eax
je 0x4863de
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], edx
and dword [esp + 0x488], 0
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], edx
inc eax
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x3bc], 0x538934
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3c4], 0x538948
push 0xfffffffffffffff0
pop edi
test edi, edi
je 0x486248
mov eax, dword [esp + edi + 0x3cc]
lea ecx, [esp + 0x480]
push ecx
push dword [esp + edi + 0x3cc]
push esi
call dword [eax + 0x10]
add esp, 0xc
mov dl, byte [esp + 0x138]
cmp dl, 2
jne 0x48624c
and dword [esp + 0x488], 0
add edi, 8
jmp 0x48620e
mov dl, 2
jmp 0x486279
lea ecx, [esp + 0x140]
mov al, byte [ecx + 9]
movsd xmm0, qword [ecx - 7]
movsd xmm1, qword [ecx + 1]
mov byte [esp + 0x1d8], al
movsd qword [esp + 0x1d0], xmm1
movsd qword [esp + 0x1c8], xmm0
push 0xfffffffffffffff0
pop edi
mov byte [esp], dl
test edi, edi
je 0x4862af
mov ebx, dword [esp + edi + 0x3c8]
mov esi, dword [esp + edi + 0x3cc]
push ebx
call dword [esi]
add esp, 4
cmp dword [esi + 4], 0
je 0x4862a7
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.00415e60
mov dl, byte [esp]
add edi, 8
jmp 0x48627f
cmp dl, 2
je 0x486310
mov eax, dword [esp + 0x488]
cmp eax, dword [esp + 0x484]
jne 0x486310
mov al, byte [esp + 0x1d8]
movsd xmm0, qword [esp + 0x1c8]
movsd xmm1, qword [esp + 0x1d0]
lea ecx, [esp + 0x140]
mov byte [ecx + 9], al
movsd qword [ecx + 1], xmm1
movsd qword [ecx - 7], xmm0
mov byte [esp + 0x138], dl
lea ecx, [esp + 0x380]
lea edx, [esp + 0x138]
call fcn.0048b580
jmp 0x486049
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
lea ecx, [esp + 0x1c8]
mov edx, edi
push esi
call fcn.0041c2d0
pop eax
cmp byte [esp + 0x1c8], 2
lea edx, [esp + 0x138]
jne 0x486398
mov ecx, esi
call fcn.00441781
mov ebx, edx
mov dword [esp], eax
push esi
push edi
push edx
call fcn.005010b0
add esp, 0xc
mov edx, dword [esp + 0x418]
cmp edx, dword [esp + 0x410]
jne 0x486373
lea ecx, [esp + 0x410]
call fcn.004c0712
mov edx, dword [esp + 0x418]
mov eax, dword [esp + 0x414]
mov edi, dword [esp]
imul ecx, edx, 0xc
inc edx
mov dword [eax + ecx], edi
mov dword [eax + ecx + 4], ebx
mov dword [eax + ecx + 8], esi
mov dword [esp + 0x418], edx
jmp 0x486049
mov al, byte [esp + 0x1d8]
movsd xmm0, qword [esp + 0x1c8]
movsd xmm1, qword [esp + 0x1d0]
lea ecx, [esp + 0x140]
mov byte [ecx + 9], al
movsd qword [ecx + 1], xmm1
movsd qword [ecx - 7], xmm0
lea ecx, [esp + 0x380]
mov byte [esp + 0x138], 2
call fcn.0048b580
jmp 0x486049
mov eax, dword [esp + 0x388]
movsd xmm0, qword [esp + 0x410]
mov ebx, dword [esp + 0x380]
mov edi, dword [esp + 0x384]
mov ecx, dword [esp + 8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x418]
movsd qword [esp + 0x8c], xmm0
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd qword [esp + 0x138], xmm0
movsd qword [esp + 0x140], xmm1
jmp 0x486463
mov ecx, dword [esp + 8]
xor edi, edi
jmp 0x486463
lea ecx, [esp + 0x1c8]
call fcn.0048b569
xor eax, eax
xor edi, edi
xor ecx, ecx
inc eax
mov edx, eax
call fcn.0043e31d
lea esi, [esp + 0x228]
mov ecx, esi
call fcn.00448234
mov edx, dword [esp + 0x1a0]
movsd xmm0, qword [esp + 0x138]
movsd xmm1, qword [esp + 0x140]
mov dword [esi], ebx
mov dword [esi + 4], edi
cmp edx, dword [esp + 0x198]
movsd qword [esi + 8], xmm0
movsd qword [esi + 0x10], xmm1
jne 0x4864ba
lea esi, [esp + 0x198]
mov ecx, esi
call fcn.0048b4c9
mov edx, dword [esi + 8]
imul edi, edx, 0x44
add edi, dword [esp + 0x19c]
push 0x11
pop ecx
lea esi, [esp + 0x228]
inc edx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1a0], edx
push 0x14
pop ecx
push 4
pop edx
call fcn.00423cc6
xor esi, esi
mov dword [esp + 8], eax
inc esi
mov dword [eax], esi
mov dword [eax + 4], esi
movsd xmm0, qword [esp + 0x198]
movsd qword [eax + 8], xmm0
mov ecx, dword [esp + 0x1a0]
mov dword [eax + 0x10], ecx
mov dword [esp + 0x120], eax
cmp byte [esp + 0x680], 0
jne 0x489f1e
push 8
pop ecx
push 4
pop edx
mov dword [esp + 0xc], edx
call fcn.00423cc6
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [esp + 0x130], eax
mov ebx, eax
mov al, 1
mov dword [esp + 0x134], 0x53df60
mov edi, dword [esp + 0x598]
mov dword [esp + 0x38], eax
test edi, edi
mov dword [esp + 0x334], edi
je 0x486585
mov ebx, dword [esp + 0x59c]
lea esi, [esp + 0x130]
mov ecx, esi
call fcn.004a1277
mov dword [esi], edi
mov dword [esp], ebx
mov dword [esi + 4], ebx
mov ebx, edi
mov dword [esp + 0x4c], 0
jmp 0x486592
mov al, 1
mov dword [esp], 0x53df60
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x530]
test eax, eax
mov dword [esp + 0x330], eax
je 0x48667c
movsd xmm1, qword [esp + 0x528]
movsd xmm0, qword [esp + 0x530]
movsd xmm2, qword [esp + 0x518]
movsd qword [esp + 0x238], xmm1
movsd xmm1, qword [esp + 0x520]
movsd qword [esp + 0x240], xmm0
movsd qword [esp + 0x228], xmm2
movsd qword [esp + 0x230], xmm1
push 0x28
pop ecx
push 8
pop edx
call fcn.00423cc6
xor edi, edi
mov esi, eax
inc edi
mov dword [eax], edi
mov dword [eax + 4], edi
movsd xmm0, qword [esp + 0x228]
movsd xmm1, qword [esp + 0x230]
movsd qword [eax + 8], xmm0
movsd qword [eax + 0x10], xmm1
movsd xmm0, qword [esp + 0x238]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x240]
movsd qword [eax + 0x20], xmm0
push 0x14
pop ecx
push 4
pop edx
call fcn.00423cc6
mov ecx, dword [esp]
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov edi, 0x53df80
mov dword [esp + 0x38], 0
mov ebx, eax
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], esi
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 0x53df80
jmp 0x48667f
mov edi, dword [esp]
lock inc dword [ebx]
mov esi, 1
jle 0x489f1a
push 0x68
pop ecx
push 8
pop edx
call fcn.00423cc6
mov ecx, 0x3b9aca00
mov dword [eax], esi
mov dword [eax + 4], esi
lea esi, [esp + 0x5d8]
mov dword [eax + 0x10], ecx
and dword [eax + 0x1c], 0
and dword [eax + 0x18], 0
mov dword [eax + 0x20], 0x11e1a300
mov dword [eax + 0x30], ecx
and dword [eax + 0x38], 0
and dword [eax + 0x40], 0
mov word [eax + 0x48], 1
mov byte [eax + 0x4e], 0
and word [eax + 0x5f], 0
lea ecx, [esp + 0x124]
mov dword [ecx + 8], eax
mov eax, dword [esi - 0x9c]
mov dword [ecx], ebx
mov dword [ecx + 4], edi
mov ebx, dword [esi - 0xa0]
mov edi, dword [esi - 0x98]
mov dword [esp], eax
call fcn.00478158
mov ecx, dword [esp]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov eax, dword [esi + 0x20]
add eax, 0xfffffffe
cmp eax, 5
push 3
pop ecx
cmovae eax, ecx
mov eax, dword [eax*4 + 0x489f44]
add eax, dword [esp + 0x48]
jmp eax
lea ecx, [esp + 0x4d8]
call fcn.0044301c
test bl, bl
je 0x48995d
cmp dword [esp + 0x634], 3
je 0x48995d
lea ecx, [esp + 0x634]
call fcn.004799c3
mov esi, dword [esp + 0x78]
test esi, esi
je 0x489971
lea ecx, [esp + 0x5c0]
call fcn.00448194
lea ecx, [esp + 0x650]
call fcn.004797ff
cmp byte [esp], 0
je 0x48998f
lea ecx, [esp + 0x5cc]
call fcn.00479826
lea ecx, [esp + 0x5d8]
mov eax, dword [ecx + 0x20]
add eax, 0xfffffffe
cmp eax, 5
push 3
pop edx
cmovb edx, eax
cmp edx, 1
je 0x4899b8
cmp edx, 3
mov eax, edx
jne 0x4899bd
call fcn.00479910
jmp 0x4899bd
call fcn.00448143
test esi, esi
jne 0x4899d9
cmp dword [esp + 0x5bc], 0
je 0x4899d9
lea eax, [esp + 0x5bc]
push eax
call fcn.00443e6e
pop eax
cmp byte [esp + 0x38], 0
je 0x4899ec
lea ecx, [esp + 0x528]
call fcn.00479870
cmp byte [esp + 0x4c], 0
je 0x489a09
cmp dword [esp + 0x598], 0
je 0x489a09
lea ecx, [esp + 0x598]
call fcn.004a1277
xor eax, eax
inc eax
mov edx, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2
mov ecx, 0x53dedc
mov edx, 0x53df44
call fcn.0043764f
ud2