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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd0
mov dword [esp], ecx
mov ecx, dword [edx + 4]
mov esi, dword [edx]
mov ebx, dword [edx + 8]
mov ebp, edx
call 0x52bb5c
pop eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov edx, ebx
push dword [esi + 0x50]
call fcn.0052b380
add esp, 4
cmp eax, 0x5c
mov dword [esp + 0x98], eax
jne 0x52c6c1
lea edi, [esi + 0x50]
mov ecx, ebp
movsd xmm0, qword [edi]
movsd qword [esp + 0x14], xmm0
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], eax
call fcn.0052ba40
test al, al
je 0x52bc33
mov ecx, dword [esp + 8]
mov dword [esp + 0x10], ebx
mov edx, ebx
push dword [edi]
call fcn.0052b380
add esp, 4
mov ebx, eax
and eax, 0x1ffff8
cmp eax, 0x30
jne 0x52bc87
cmp byte [esi + 0x65], 0
je 0x52bd70
lea ecx, [esp + 0x58]
mov edx, ebp
call fcn.00537dd0
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x14]
mov dword [esp + 0x64], eax
movsd qword [esp + 0x5c], xmm0
mov eax, dword [esp]
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x60]
movsd qword [eax + 0x2c], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [eax + 0x24], xmm0
movsd qword [eax + 0x1c], xmm2
movsd qword [eax + 0x14], xmm1
mov dword [eax + 0x10], 0x80000002
mov dword [eax], 0x22
jmp 0x52c1d6
mov eax, dword [edi + 8]
movsd xmm1, qword [esp + 0x14]
test ebx, ebx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [edi]
movsd qword [esp + 0x64], xmm0
movsd qword [esp + 0x58], xmm1
mov dword [esp + 0x60], eax
je 0x52bd23
js 0x52c6e4
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
mov esi, ebx
mov ebx, eax
test eax, eax
jne 0x52bd2a
jmp 0x52c6e9
mov eax, ebx
and eax, 0x1ffffe
cmp eax, 0x38
jne 0x52be64
cmp byte [esi + 0x65], 0
je 0x52bd70
mov ecx, ebp
call fcn.0052ba40
mov eax, dword [edi + 8]
movsd xmm1, qword [esp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [edi]
movsd qword [esp + 0x2c], xmm0
mov dword [esp + 0x28], eax
lea eax, [ebx - 0x23]
movsd qword [esp + 0x20], xmm1
cmp eax, 0x5b
ja 0x52c1e1
mov eax, dword [eax*4 + 0x52c7e0]
add eax, dword [esp + 0xc]
jmp eax
mov esi, ebx
mov ebx, 1
push esi
push dword [esp + 0xc]
push ebx
call fcn.007bd9b0
add esp, 0xc
movsd xmm1, qword [esp + 0x60]
mov eax, dword [esp]
movsd xmm0, qword [esp + 0x58]
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x38], xmm1
mov dword [eax], 0xa
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], esi
jmp 0x52c1d6
mov ebx, dword [esp + 0x10]
mov edi, dword [edi]
mov ecx, dword [esp + 8]
mov edx, ebx
push edi
call fcn.0052b380
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x52bdaa
mov ecx, 2
cmp eax, 0x800
jb 0x52bdaa
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add edi, ecx
jb 0x52c6f5
mov ebp, dword [esi + 0x58]
mov dword [esp + 0xc], edi
inc ebp
je 0x52c6ff
mov edi, dword [esi + 0x54]
mov ecx, dword [esp + 8]
mov edx, ebx
push dword [esi + 0x50]
call fcn.0052b380
add esp, 4
xor ecx, ecx
cmp eax, 0xa
mov esi, ebx
mov ebx, 1
sete al
cmove ebp, ebx
test esi, esi
je 0x52be1c
mov byte [esp + 7], al
js 0x52c6e4
movzx eax, byte [0x94bfc5]
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
mov ebx, eax
test eax, eax
movzx eax, byte [esp + 7]
mov ecx, 0
je 0x52c6e9
mov cl, al
add edi, ecx
push esi
push dword [esp + 0xc]
push ebx
call fcn.007bd9b0
add esp, 0xc
movsd xmm0, qword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
movsd qword [ecx + 0x28], xmm0
mov dword [ecx + 0x30], eax
mov dword [ecx], 0x20
mov dword [ecx + 0x1c], esi
mov dword [ecx + 0x20], ebx
mov dword [ecx + 0x24], esi
mov dword [ecx + 0x34], edx
mov dword [ecx + 0x38], edi
mov dword [ecx + 0x3c], ebp
jmp 0x52c1d6
lea eax, [ebx - 0x44]
cmp eax, 0x34
ja 0x52bca1
mov eax, dword [eax*4 + 0x52c70c]
add eax, dword [esp + 0xc]
jmp eax
add esp, 0xd0
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, ebx
call fcn.00537800
test al, al
je 0x52c226
movsd xmm0, qword [esp + 0x30]
mov eax, dword [esp]
movsd xmm2, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x28]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x20], xmm1
movsd qword [eax + 0x18], xmm2
mov dword [eax + 0x10], 0x80000002
mov dword [eax + 0x14], ebx
mov byte [eax + 0x30], 2
mov dword [eax], 0x22
jmp 0x52c1d6
add ebx, 0xffffffc4
cmp ebx, 0x3e
ja 0x52c275
mov eax, dword [esp + 0xc]
add eax, dword [ebx*4 + 0x52c950]
jmp eax
mov edx, dword [esp + 8]
lea eax, [esp + 0x98]
mov dword [esp + 0x98], 0xb
lea esi, [esp + 0x20]
lea ecx, [esp + 0x58]
push eax
push esi
push dword [esp + 0x18]
call fcn.00531470
add esp, 0xc
mov eax, dword [esp]
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x90]
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [eax + 0x28], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [eax + 0x38], xmm0
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esp + 0x58]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
jmp 0x52c1d6
mov dword [esp + 0x58], 0
lea eax, [esp + 0x58]
lea ecx, [esp + 0x98]
mov edx, 0x934664
push 0x852cf4
push eax
call fcn.007caf70
call fcn.00418cb0
mov ecx, 1
mov edx, esi
call fcn.007c1490
mov ecx, 0x852a08
call fcn.007c1fe0
mov ecx, 0x852a18
call fcn.007c1fe0
nop dword [eax]
and dword [ebx], eax
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebx], ch
add al, 0
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [ebp + 1], al
add byte [eax], al
ja 0x52c755
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
sub eax, dword [eax + eax]
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [ebp + 1], al
add byte [eax], al
ja 0x52c7d5
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [edi + 3], dh
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
fild word [esi]
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
lodsd eax, dword [esi]
pop es
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
out 7, eax
add byte [eax], al
and dword [eax], ecx
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
pop ebx
or byte [eax], al
add byte [esi + 0x19000008], bl
pop es
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
insd dword es:[edi], dx
or dword [eax], eax
add byte [ecx], bl
pop es
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
mov al, 9
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
or dword [eax], eax
add byte [ecx], bl
pop es
add byte [eax], al
or al, byte ss:[eax]
add byte [ecx], bl
pop es
add byte [eax], al
jns 0x52ca44
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
mov esp, 0xcc00000a
int3