Function at 0x53e840
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 0x53ea55
nop dword [eax]
test ecx, ecx
jne 0x53ea55
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 0x53f15a
cmp ebp, eax
jae 0x53f15a
movzx esi, word ss:[ebp]
mov eax, esi
mov dword [esp + 0x18], eax
test esi, 0x3fff
jne 0x53e8b1
cmp si, dx
jb 0x53ea2f
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 0x53e928
mov edx, eax
mov ecx, edi
call fcn.0053c6f0
mov ecx, eax
test ecx, ecx
je 0x53e928
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 0x53e93d
lea esi, [eax + 2]
jmp 0x53e9f8
mov ecx, 0x1000
cmp ax, cx
jne 0x53e9a7
mov eax, dword ds:[esp + 0x18]
and esi, 0xc000
shr ax, 0xe
movzx eax, ax
cmp esi, 0x4000
jne 0x53e976
mov ax, word [ebp + 2]
mov word [esp + 0x48], ax
jmp 0x53e9f3
cmp eax, 2
jne 0x53e989
mov eax, dword [ebp + 2]
mov esi, 6
mov dword [esp + 0x48], eax
jmp 0x53e9f8
cmp eax, 3
jne 0x53ea26
mov eax, dword [ebp + 2]
mov esi, 0xa
mov ecx, dword [ebp + 6]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
jmp 0x53e9f8
mov ecx, 0x2000
cmp ax, cx
jne 0x53ea26
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.005a52a0
mov esi, eax
mov ecx, edx
movzx eax, word [ebp + 2]
cdq
push edx
push eax
push ecx
push esi
call fcn.005a52a0
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 0x53ea26
mov edx, 0x4000
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
jae 0x53ea2f
mov ebp, eax
jmp 0x53e890
mov ecx, dword [esp + 0x10]
mov edx, 0x4000
mov eax, dword [ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f15a
nop dword [eax]
cmp eax, dword [esp + 0x80]
jae 0x53f15a
mov ebx, eax
inc ecx
jmp 0x53e86d
cmp edx, 1
jne 0x53ea68
nop word [eax + eax]
test ecx, ecx
je 0x53f15a
cmp edx, 2
jne 0x53ea75
test ecx, ecx
je 0x53f15a
cmp edx, 3
jne 0x53eb88
nop
test ecx, ecx
jne 0x53eb88
cmp dword [ebx + 4], 4
mov dword [esp + 0x10], ecx
jb 0x53f15a
mov eax, dword [ebx + 4]
xor esi, esi
sub eax, 8
shr eax, 2
mov dword [esp + 0x1c], eax
test eax, eax
je 0x53eb4c
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 0x53eb0e
xor eax, eax
jmp 0x53eb28
mov edx, ebp
mov ecx, edi
call fcn.0053c6f0
mov ecx, eax
test ecx, ecx
je 0x53eb28
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 0x53eab0
mov eax, dword [ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f15a
nop dword [eax]
cmp eax, dword [esp + 0x80]
jae 0x53f15a
inc ecx
mov ebx, eax
cmp dword [eax + 4], 4
mov dword [esp + 0x10], ecx
jae 0x53ea96
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10
cmp edx, 4
jne 0x53ecd0
test ecx, ecx
jne 0x53ecd0
cmp dword [ebx + 4], 2
mov dword [esp + 0x14], ecx
jb 0x53f15a
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 0x53ec99
nop word [eax + eax]
movzx edx, word ds:[ebx + esi*2 + 8]
nop
test edx, 0xfff
je 0x53ec99
cmp dx, bp
jb 0x53ec99
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 0x53ec53
xor eax, eax
jmp 0x53ec6f
mov edx, ebp
mov ecx, edi
call fcn.0053c6f0
mov ecx, eax
test ecx, ecx
je 0x53ec6f
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 0x53ebd0
mov eax, dword ds:[ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f15a
cmp eax, dword [esp + 0x80]
jae 0x53f15a
inc ecx
mov ebx, eax
cmp dword [eax + 4], 2
mov dword [esp + 0x14], ecx
jae 0x53ebb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10
cmp edx, 5
jne 0x53ee08
nop dword [eax]
test ecx, ecx
jne 0x53ee08
cmp dword [ebx + 4], 2
mov dword [esp + 0x14], ecx
jb 0x53f15a
nop word [eax + eax]
mov eax, dword [ebx + 4]
mov esi, 0
sub eax, 8
shr eax, 1
mov dword [esp + 0x1c], eax
je 0x53edcd
nop word [eax + eax]
movzx edx, word [ebx + esi*2 + 8]
test edx, 0xfff
je 0x53edcd
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 0x53ed8f
xor eax, eax
jmp 0x53eda9
mov edx, ebp
mov ecx, edi
call fcn.0053c6f0
mov ecx, eax
test ecx, ecx
je 0x53eda9
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 0x53ed20
mov eax, dword [ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f15a
nop word [eax + eax]
cmp eax, dword [esp + 0x80]
jae 0x53f15a
inc ecx
mov ebx, eax
cmp dword [eax + 4], 2
mov dword [esp + 0x14], ecx
jae 0x53ed00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10
cmp edx, 7
jne 0x53f043
test ecx, ecx
jne 0x53f053
mov edx, dword [ebx]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
lea eax, [edx + ebx]
cmp eax, ebx
jb 0x53f15a
mov ecx, dword [esp + 0x80]
cmp eax, ecx
jae 0x53f15a
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 0x53ee84
cmp dword [ebp], 1
jne 0x53ee84
mov eax, dword [ebp + 4]
cmp eax, 8
jb 0x53ee84
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 0x53eff3
lea ebp, [ebx + 0x10]
add ebp, eax
add ecx, ebp
mov dword [esp + 0x2c], ecx
cmp dword [ebp + 4], 8
jb 0x53eff3
nop dword [eax]
mov eax, dword [ebp + 4]
mov esi, 0
sub eax, 8
shr eax, 1
mov dword [esp + 0x28], eax
je 0x53efd2
nop word [eax + eax]
movzx edx, word [ebp + esi*2 + 8]
mov eax, 0x1000
cmp dx, ax
jb 0x53efca
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 0x53ef8a
xor eax, eax
jmp 0x53efa4
mov edx, ebx
mov ecx, edi
call fcn.0053c6f0
mov ecx, eax
test ecx, ecx
je 0x53efa4
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 0x53ef00
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 4]
add eax, ebp
cmp eax, ebp
jb 0x53eff0
cmp eax, ecx
jae 0x53eff0
inc edx
mov ebp, eax
cmp dword [eax + 4], 8
mov dword [esp + 0x10], edx
jae 0x53eee0
lea esi, [ebx + 0x10]
cmp esi, ebx
jb 0x53f15a
mov ebp, dword ds:[esp + 0x30]
cmp esi, ebp
jae 0x53f15a
mov eax, dword [ebx + 8]
add eax, esi
cmp eax, esi
jb 0x53f15a
cmp eax, ebp
jae 0x53f15a
mov ebx, dword [esp + 0x34]
mov ebx, dword [ebx]
add ebx, eax
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x53f15a
cmp ebx, ebp
jb 0x53ee90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10
test ecx, ecx
jne 0x53f053
cmp edx, 0xff
jbe 0x53f15a
xor ebp, ebp
cmp dword [ebx + 4], 8
mov dword [esp + 0x14], ebp
jb 0x53f15a
nop word [eax + eax]
mov eax, dword [ebx + 4]
mov esi, 0
sub eax, 8
shr eax, 1
mov dword [esp + 0x34], eax
je 0x53f135
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 0x53f0ef
xor eax, eax
jmp 0x53f109
mov edx, ebp
mov ecx, edi
call fcn.0053c6f0
mov ecx, eax
test ecx, ecx
je 0x53f109
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 0x53f090
mov eax, dword [ebx + 4]
add eax, ebx
cmp eax, ebx
jb 0x53f15a
nop
cmp eax, dword [esp + 0x80]
jae 0x53f15a
inc ebp
mov ebx, eax
cmp dword [eax + 4], 8
mov dword [esp + 0x14], ebp
jae 0x53f070
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x10