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

Disassembly:
sub esp, 0x64
push ebx
push ebp
push esi
mov ebx, edx
mov edx, dword [esp + 0x74]
push edi
mov edi, ecx
mov ecx, dword [esp + 0x7c]
cmp edx, 6
jne 0x53ead5
nop dword [eax]
test ecx, ecx
jne 0x53ead5
mov edx, 0x4000
mov eax, dword ds:[ebx + 4]
lea ebp, [ebx + 8]
add eax, ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
cmp ebp, ebx
jb 0x53f1da
cmp ebp, eax
jae 0x53f1da
movzx esi, word ss:[ebp]
mov eax, esi
mov dword [esp + 0x18], eax
test esi, 0x3fff
jne 0x53e931
cmp si, dx
jb 0x53eaaf
mov eax, dword [edi + 0xc]
xorps xmm0, xmm0
mov edx, dword [ebx]
mov dword [esp + 0x40], ecx
mov ecx, esi
and ecx, 0xfff
movlpd qword [esp + 0x50], xmm0
mov eax, dword [eax + 0x34]
add eax, ecx
movlpd qword [esp + 0x48], xmm0
add eax, edx
movlpd qword [esp + 0x58], xmm0
mov dword [esp + 0x68], eax
lea eax, [ecx + edx]
movlpd qword [esp + 0x60], xmm0
mov dword [esp + 0x38], 6
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], edx
mov word [esp + 0x50], si
mov dword [esp + 0x1c], eax
test eax, eax
je 0x53e9a8
mov edx, eax
mov ecx, edi
call fcn.0053c790
mov ecx, eax
test ecx, ecx
je 0x53e9a8
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0xc]
add eax, dword [edi + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov eax, esi
and eax, 0x3000
jne 0x53e9bd
lea esi, [eax + 2]
jmp 0x53ea78
mov ecx, 0x1000
cmp ax, cx
jne 0x53ea27
mov eax, dword ds:[esp + 0x18]
and esi, 0xc000
shr ax, 0xe
movzx eax, ax
cmp esi, 0x4000
jne 0x53e9f6
mov ax, word [ebp + 2]
mov word [esp + 0x48], ax
jmp 0x53ea73
cmp eax, 2
jne 0x53ea09
mov eax, dword [ebp + 2]
mov esi, 6
mov dword [esp + 0x48], eax
jmp 0x53ea78
cmp eax, 3
jne 0x53eaa6
mov eax, dword [ebp + 2]
mov esi, 0xa
mov ecx, dword [ebp + 6]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
jmp 0x53ea78
mov ecx, 0x2000
cmp ax, cx
jne 0x53eaa6
mov eax, dword [esp + 0x50]
movsx ecx, si
and eax, 0x4000
sar ecx, 0xf
and ecx, 4
add ecx, 4
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
cdq
push edx
push eax
push 0
push ecx
call fcn.005a52c0
mov esi, eax
mov ecx, edx
movzx eax, word [ebp + 2]
cdq
push edx
push eax
push ecx
push esi
call fcn.005a52c0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov esi, 4
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x88]
call sym.SystemInformer.exe_Ordinal_1271
lea eax, [esi + ebp]
cmp eax, ebp
jb 0x53eaa6
mov edx, 0x4000
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
jae 0x53eaaf
mov ebp, eax
jmp 0x53e910
mov ecx, dword [esp + 0x10]
mov edx, 0x4000
mov eax, dword [ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f1da
nop dword [eax]
cmp eax, dword [esp + 0x80]
jae 0x53f1da
mov ebx, eax
inc ecx
jmp 0x53e8ed
cmp edx, 1
jne 0x53eae8
nop word [eax + eax]
test ecx, ecx
je 0x53f1da
cmp edx, 2
jne 0x53eaf5
test ecx, ecx
je 0x53f1da
cmp edx, 3
jne 0x53ec08
nop
test ecx, ecx
jne 0x53ec08
cmp dword [ebx + 4], 4
mov dword [esp + 0x10], ecx
jb 0x53f1da
mov eax, dword [ebx + 4]
xor esi, esi
sub eax, 8
shr eax, 2
mov dword [esp + 0x1c], eax
test eax, eax
je 0x53ebcc
nop dword [eax]
mov edx, dword [ebx + esi*4 + 8]
xorps xmm0, xmm0
mov eax, dword [edi + 0xc]
mov dword [esp + 0x48], edx
and edx, 0xfff
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx]
mov eax, dword [eax + 0x34]
add eax, edx
movlpd qword [esp + 0x4c], xmm0
add eax, ecx
movlpd qword [esp + 0x54], xmm0
lea ebp, [edx + ecx]
movlpd qword [esp + 0x5c], xmm0
mov dword [esp + 0x64], 0
mov dword [esp + 0x38], 3
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x68], eax
test ebp, ebp
jne 0x53eb8e
xor eax, eax
jmp 0x53eba8
mov edx, ebp
mov ecx, edi
call fcn.0053c790
mov ecx, eax
test ecx, ecx
je 0x53eba8
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0xc]
add eax, dword [edi + 4]
add eax, ebp
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x88]
call sym.SystemInformer.exe_Ordinal_1271
mov ecx, dword [esp + 0x10]
inc esi
cmp esi, dword [esp + 0x1c]
jb 0x53eb30
mov eax, dword [ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f1da
nop dword [eax]
cmp eax, dword [esp + 0x80]
jae 0x53f1da
inc ecx
mov ebx, eax
cmp dword [eax + 4], 4
mov dword [esp + 0x10], ecx
jae 0x53eb16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10
cmp edx, 4
jne 0x53ed50
test ecx, ecx
jne 0x53ed50
cmp dword [ebx + 4], 2
mov dword [esp + 0x14], ecx
jb 0x53f1da
mov ebp, 0x1000
nop dword [eax]
mov eax, dword [ebx + 4]
mov esi, 0
sub eax, 8
shr eax, 1
mov dword [esp + 0x1c], eax
je 0x53ed19
nop word [eax + eax]
movzx edx, word ds:[ebx + esi*2 + 8]
nop
test edx, 0xfff
je 0x53ed19
cmp dx, bp
jb 0x53ed19
xor eax, eax
mov word [esp + 0x48], dx
mov word [esp + 0x66], ax
and edx, 0xfff
mov dword [esp + 0x3c], eax
xorps xmm0, xmm0
mov eax, dword [edi + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx]
movlpd qword [esp + 0x4a], xmm0
mov eax, dword [eax + 0x34]
add eax, ecx
movlpd qword [esp + 0x52], xmm0
add eax, edx
movlpd qword [esp + 0x5a], xmm0
lea ebp, [ecx + edx]
mov dword [esp + 0x62], 0
mov dword [esp + 0x38], 4
mov dword [esp + 0x44], ecx
mov dword [esp + 0x68], eax
test ebp, ebp
jne 0x53ecd3
xor eax, eax
jmp 0x53ecef
mov edx, ebp
mov ecx, edi
call fcn.0053c790
mov ecx, eax
test ecx, ecx
je 0x53ecef
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0xc]
add eax, dword [edi + 4]
add eax, ebp
mov dword ds:[esp + 0x6c], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x88]
call sym.SystemInformer.exe_Ordinal_1271
mov ecx, dword [esp + 0x14]
inc esi
mov ebp, 0x1000
cmp esi, dword [esp + 0x1c]
jb 0x53ec50
mov eax, dword ds:[ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f1da
cmp eax, dword [esp + 0x80]
jae 0x53f1da
inc ecx
mov ebx, eax
cmp dword [eax + 4], 2
mov dword [esp + 0x14], ecx
jae 0x53ec30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10
cmp edx, 5
jne 0x53ee88
nop dword [eax]
test ecx, ecx
jne 0x53ee88
cmp dword [ebx + 4], 2
mov dword [esp + 0x14], ecx
jb 0x53f1da
nop word [eax + eax]
mov eax, dword [ebx + 4]
mov esi, 0
sub eax, 8
shr eax, 1
mov dword [esp + 0x1c], eax
je 0x53ee4d
nop word [eax + eax]
movzx edx, word [ebx + esi*2 + 8]
test edx, 0xfff
je 0x53ee4d
xor eax, eax
mov word [esp + 0x48], dx
mov word [esp + 0x66], ax
and edx, 0xfff
mov dword [esp + 0x3c], eax
xorps xmm0, xmm0
mov eax, dword [edi + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx]
movlpd qword [esp + 0x4a], xmm0
mov eax, dword [eax + 0x34]
add eax, ecx
movlpd qword [esp + 0x52], xmm0
add eax, edx
movlpd qword [esp + 0x5a], xmm0
lea ebp, [ecx + edx]
mov dword [esp + 0x62], 0
mov dword [esp + 0x38], 5
mov dword [esp + 0x44], ecx
mov dword [esp + 0x68], eax
test ebp, ebp
jne 0x53ee0f
xor eax, eax
jmp 0x53ee29
mov edx, ebp
mov ecx, edi
call fcn.0053c790
mov ecx, eax
test ecx, ecx
je 0x53ee29
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0xc]
add eax, dword [edi + 4]
add eax, ebp
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x88]
call sym.SystemInformer.exe_Ordinal_1271
mov ecx, dword [esp + 0x14]
inc esi
cmp esi, dword [esp + 0x1c]
jb 0x53eda0
mov eax, dword [ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f1da
nop word [eax + eax]
cmp eax, dword [esp + 0x80]
jae 0x53f1da
inc ecx
mov ebx, eax
cmp dword [eax + 4], 2
mov dword [esp + 0x14], ecx
jae 0x53ed80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10
cmp edx, 7
jne 0x53f0c3
test ecx, ecx
jne 0x53f0d3
mov edx, dword [ebx]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
lea eax, [edx + ebx]
cmp eax, ebx
jb 0x53f1da
mov ecx, dword [esp + 0x80]
cmp eax, ecx
jae 0x53f1da
sub ecx, ebx
lea eax, [ebx + 4]
lea ebp, [eax + edx]
mov dword [esp + 0x14], eax
mov esi, 4
mov dword [esp + 0x30], ebp
cmp ecx, esi
mov eax, ecx
cmova eax, esi
sub ecx, eax
cmp ecx, edx
mov eax, ecx
cmova eax, edx
sub ecx, eax
je 0x53ef04
cmp dword [ebp], 1
jne 0x53ef04
mov eax, dword [ebp + 4]
cmp eax, 8
jb 0x53ef04
lea ecx, [ebp + 8]
mov ebp, eax
shr ebp, 3
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebp
mov ebx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x10], edx
nop
mov eax, dword ds:[ebx + 8]
xor esi, esi
mov ecx, eax
shr ecx, 2
cmp eax, 4
cmovb ecx, esi
xor ebp, ebp
mov dword [esp + 0x24], ecx
lea esi, [ebx + 0x10]
cmp eax, 4
mov ecx, esi
cmovb ecx, ebp
mov dword [esp + 0x20], ecx
lea ecx, [ebx + 0xc]
mov dword [esp + 0x34], ecx
mov ecx, dword [ecx]
test ecx, ecx
je 0x53f073
lea ebp, [ebx + 0x10]
add ebp, eax
add ecx, ebp
mov dword [esp + 0x2c], ecx
cmp dword [ebp + 4], 8
jb 0x53f073
nop dword [eax]
mov eax, dword [ebp + 4]
mov esi, 0
sub eax, 8
shr eax, 1
mov dword [esp + 0x28], eax
je 0x53f052
nop word [eax + eax]
movzx edx, word [ebp + esi*2 + 8]
mov eax, 0x1000
cmp dx, ax
jb 0x53f04a
xor eax, eax
mov ecx, dword [ebp]
mov word [esp + 0x4a], ax
mov dword [esp + 0x64], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [ebx]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], eax
mov eax, dword [edi + 0xc]
mov word [esp + 0x48], dx
and edx, 0xfff
mov dword [esp + 0x38], 7
mov dword [esp + 0x44], ecx
mov eax, dword [eax + 0x34]
add eax, ecx
lea ebx, [ecx + edx]
add eax, edx
mov dword [esp + 0x68], eax
test ebx, ebx
jne 0x53f00a
xor eax, eax
jmp 0x53f024
mov edx, ebx
mov ecx, edi
call fcn.0053c790
mov ecx, eax
test ecx, ecx
je 0x53f024
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0xc]
add eax, dword [edi + 4]
add eax, ebx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x88]
call sym.SystemInformer.exe_Ordinal_1271
mov ebx, dword ds:[esp + 0x14]
inc esi
cmp esi, dword [esp + 0x28]
jb 0x53ef80
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 4]
add eax, ebp
cmp eax, ebp
jb 0x53f070
cmp eax, ecx
jae 0x53f070
inc edx
mov ebp, eax
cmp dword [eax + 4], 8
mov dword [esp + 0x10], edx
jae 0x53ef60
lea esi, [ebx + 0x10]
cmp esi, ebx
jb 0x53f1da
mov ebp, dword ds:[esp + 0x30]
cmp esi, ebp
jae 0x53f1da
mov eax, dword [ebx + 8]
add eax, esi
cmp eax, esi
jb 0x53f1da
cmp eax, ebp
jae 0x53f1da
mov ebx, dword [esp + 0x34]
mov ebx, dword [ebx]
add ebx, eax
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x53f1da
cmp ebx, ebp
jb 0x53ef10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10
test ecx, ecx
jne 0x53f0d3
cmp edx, 0xff
jbe 0x53f1da
xor ebp, ebp
cmp dword [ebx + 4], 8
mov dword [esp + 0x14], ebp
jb 0x53f1da
nop word [eax + eax]
mov eax, dword [ebx + 4]
mov esi, 0
sub eax, 8
shr eax, 1
mov dword [esp + 0x34], eax
je 0x53f1b5
nop word [eax + eax]
xor eax, eax
mov dword [esp + 0x38], edx
movzx edx, word [ebx + esi*2 + 8]
xorps xmm0, xmm0
mov word [esp + 0x66], ax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebx]
mov word [esp + 0x48], dx
and edx, 0xfff
mov eax, dword [eax + 0x34]
add eax, edx
mov dword [esp + 0x40], ebp
add eax, ecx
movlpd qword [esp + 0x4a], xmm0
lea ebp, [edx + ecx]
movlpd qword [esp + 0x52], xmm0
movlpd qword [esp + 0x5a], xmm0
mov dword [esp + 0x62], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x68], eax
test ebp, ebp
jne 0x53f16f
xor eax, eax
jmp 0x53f189
mov edx, ebp
mov ecx, edi
call fcn.0053c790
mov ecx, eax
test ecx, ecx
je 0x53f189
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0xc]
add eax, dword [edi + 4]
add eax, ebp
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x88]
call sym.SystemInformer.exe_Ordinal_1271
mov ecx, dword [esp + 0x7c]
inc esi
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x14]
cmp esi, dword [esp + 0x34]
jb 0x53f110
mov eax, dword [ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f1da
nop
cmp eax, dword [esp + 0x80]
jae 0x53f1da
inc ebp
mov ebx, eax
cmp dword [eax + 4], 8
mov dword [esp + 0x14], ebp
jae 0x53f0f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10