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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5de89a
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
push ebx
push esi
push edi
mov eax, dword [0x680f10]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x10]
mov ebx, dword [esi + 8]
cmp dword [esi + 4], ebx
jbe 0x52d062
call fcn.0044b7ad
mov edi, dword [esi + 4]
cmp edi, dword [esi + 8]
jbe 0x52d06f
call fcn.0044b7ad
push ebx
push esi
push edi
push esi
lea eax, [esp + 0xbc]
push eax
mov ecx, esi
call fcn.004d8130
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp esi, ebx
je 0x52d6bf
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, 3
jne 0x52d11b
mov ecx, esi
call fcn.004b5800
mov ecx, dword [eax + 0x14]
push 8
push str.Identity
push ecx
push ebx
mov ecx, eax
call fcn.0048a450
test eax, eax
jne 0x52d11b
mov esi, dword [ebp + 0xc]
mov ecx, esi
xor edi, edi
call fcn.004ae740
test eax, eax
jbe 0x52d6bf
mov edi, edi
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x52d0e3
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x52d0e8
call fcn.0044b7ad
mov edx, dword [esi + 4]
mov ecx, dword [ebp + 0x10]
lea eax, [edx + edi*8]
push eax
call fcn.004d8840
mov ecx, esi
add edi, 1
call fcn.004ae740
cmp edi, eax
jb 0x52d0d0
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi]
mov eax, dword [edx]
xor edi, edi
mov ecx, esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x64], ebx
call eax
cmp eax, 5
jne 0x52d138
mov dword [esp + 0x10], esi
mov edi, esi
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, 6
jne 0x52d158
push 1
mov ecx, esi
mov dword [esp + 0x68], esi
call fcn.004b53e0
mov dword [esp + 0x10], eax
mov edi, eax
cmp edi, ebx
je 0x52d6bf
push str.FunctionType
lea ecx, [esp + 0x7c]
call fcn.0048cd50
lea ecx, [esp + 0x78]
push ecx
mov ecx, edi
mov dword [esp + 0x104], ebx
call fcn.004b7950
cmp dword [esp + 0x94], 0x10
mov esi, eax
mov dword [esp + 0x100], 0xffffffff
mov dword [esp + 0x78], 0x5f1558
jb 0x52d1b0
mov edx, dword [esp + 0x80]
push edx
call fcn.004274fc
add esp, 4
cmp esi, ebx
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], 0
mov dword [esp + 0x78], 0x5f13d0
je 0x52d6bf
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
cmp eax, 1
jne 0x52d6bf
mov ecx, esi
call fcn.004b57f0
call fcn.0044eb60
mov dword [esp + 0x98], eax
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x100], 1
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
push 0x602390
lea ecx, [esp + 0x28]
mov byte [esp + 0x104], 2
call fcn.0048cd50
lea eax, [esp + 0x24]
push eax
mov ecx, edi
mov byte [esp + 0x104], 3
call fcn.004b7950
lea ecx, [esp + 0x24]
mov esi, eax
mov byte [esp + 0x100], 2
call fcn.004b36e0
cmp esi, ebx
je 0x52d2ce
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, 4
jne 0x52d2ce
mov ecx, esi
call fcn.004b5810
test eax, eax
jbe 0x52d2c8
push ebx
mov ecx, esi
call fcn.004b5830
mov edi, eax
test edi, edi
je 0x52d2c8
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
cmp eax, 1
jne 0x52d2c8
mov ecx, edi
call fcn.004b57f0
fstp qword [esp + 0x1c]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0xa0]
call fcn.004d8840
mov ecx, esi
add ebx, 1
call fcn.004b5810
cmp ebx, eax
jb 0x52d283
mov edi, dword [esp + 0x10]
xor ebx, ebx
push str.Range
lea ecx, [esp + 0x28]
call fcn.0048cd50
lea edx, [esp + 0x24]
push edx
mov ecx, edi
mov byte [esp + 0x104], 4
call fcn.004b7950
lea ecx, [esp + 0x24]
mov edi, eax
mov byte [esp + 0x100], 2
call fcn.004b36e0
cmp edi, ebx
je 0x52d364
mov eax, dword [edi]
mov edx, dword [eax]
mov ecx, edi
call edx
cmp eax, 4
jne 0x52d364
mov ecx, edi
call fcn.004b5810
test eax, eax
jbe 0x52d362
nop
push ebx
mov ecx, edi
call fcn.004b5830
mov esi, eax
test esi, esi
je 0x52d362
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
cmp eax, 1
jne 0x52d362
mov ecx, esi
call fcn.004b57f0
fstp qword [esp + 0x1c]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x6c]
call fcn.004d8840
mov ecx, edi
add ebx, 1
call fcn.004b5810
cmp ebx, eax
jb 0x52d320
xor ebx, ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
fldz
push 0x6023a0
fstp qword [esp + 0xb0]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x104], 6
call fcn.0048cd50
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x104], 7
call fcn.004b7ac0
mov edi, 0x10
cmp dword [esp + 0x94], edi
mov esi, 0x5f1558
mov dword [esp + 0x18], eax
mov byte [esp + 0x100], 6
mov dword [esp + 0x78], esi
jb 0x52d3e4
mov edx, dword [esp + 0x80]
push edx
call fcn.004274fc
add esp, 4
push 0x6023a4
lea ecx, [esp + 0x28]
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], 0
mov dword [esp + 0x7c], 0x5f13d0
call fcn.0048cd50
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x104], 8
call fcn.004b7ac0
cmp dword [esp + 0x40], edi
mov dword [esp + 0x1c], eax
mov byte [esp + 0x100], 6
mov dword [esp + 0x24], esi
jb 0x52d44d
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004274fc
add esp, 4
mov esi, dword [esp + 0x18]
cmp esi, ebx
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], 0
mov dword [esp + 0x24], 0x5f13d0
je 0x52d479
mov ecx, esi
call fcn.004b5810
mov edi, eax
jmp 0x52d47b
xor edi, edi
mov ecx, dword [esp + 0x1c]
cmp ecx, ebx
je 0x52d492
call fcn.004b5810
cmp edi, eax
jae 0x52d494
mov dword [esp + 0x14], edi
jmp 0x52d49a
xor eax, eax
mov dword [esp + 0x14], eax
mov edi, eax
cmp edi, ebx
jbe 0x52d4dd
fldz
mov esi, edi
fstp qword [esp + 0xbc]
fld1
fstp qword [esp + 0xb4]
lea edx, [esp + 0xbc]
push edx
lea ecx, [esp + 0x58]
call fcn.004d8840
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x48]
call fcn.004d8840
sub esi, 1
jne 0x52d4b2
mov esi, dword [esp + 0x18]
cmp esi, ebx
je 0x52d53d
xor esi, esi
cmp edi, ebx
jbe 0x52d53d
mov ecx, dword [esp + 0x18]
push esi
call fcn.004b5830
mov edi, eax
cmp edi, ebx
je 0x52d530
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
cmp eax, 1
jne 0x52d530
mov ecx, dword [esp + 0x58]
cmp ecx, ebx
je 0x52d519
mov eax, dword [esp + 0x5c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x52d522
call fcn.0044b7ad
mov ecx, dword [esp + 0x58]
lea ebx, [ecx + esi*8]
mov ecx, edi
call fcn.004b57f0
fstp qword [ebx]
xor ebx, ebx
add esi, 1
cmp esi, dword [esp + 0x14]
jb 0x52d4e7
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x1c], ebx
je 0x52d59b
xor esi, esi
cmp edi, ebx
jbe 0x52d59b
mov ecx, dword [esp + 0x1c]
push esi
call fcn.004b5830
mov edi, eax
cmp edi, ebx
je 0x52d592
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
cmp eax, 1
jne 0x52d592
mov ecx, dword [esp + 0x48]
cmp ecx, ebx
je 0x52d57b
mov eax, dword [esp + 0x4c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x52d584
call fcn.0044b7ad
mov ecx, dword [esp + 0x48]
lea ebx, [ecx + esi*8]
mov ecx, edi
call fcn.004b57f0
fstp qword [ebx]
xor ebx, ebx
add esi, 1
cmp esi, dword [esp + 0x14]
jb 0x52d549
push 0x6023a8
lea ecx, [esp + 0x28]
call fcn.0048cd50
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x104], 9
call fcn.004b7a30
cmp dword [esp + 0x40], 0x10
mov esi, eax
mov byte [esp + 0x100], 6
mov dword [esp + 0x24], 0x5f1558
jb 0x52d5e5
mov edx, dword [esp + 0x2c]
push edx
call fcn.004274fc
add esp, 4
cmp esi, ebx
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], 0
mov dword [esp + 0x24], 0x5f13d0
je 0x52d60b
mov ecx, esi
call fcn.004b57f0
jmp 0x52d612
fld qword [esp + 0xac]
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0xa8]
lea edx, [esp + 0x78]
push edx
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0xb0]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
call fcn.0052b8f0
mov eax, dword [esp + 0x74]
add esp, 0x2c
cmp eax, ebx
je 0x52d665
push eax
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
je 0x52d682
push eax
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x6c]
cmp eax, ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
je 0x52d69f
push eax
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0xa0]
cmp eax, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
je 0x52d6bf
push eax
call fcn.004274fc
add esp, 4
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret