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

Disassembly:
sub esp, 0x28
mov eax, dword [esp + 0x2c]
push ebx
push ebp
push esi
mov ecx, dword [eax + 0x74]
mov esi, dword [eax + 4]
mov ebp, dword [eax]
mov ebx, dword [eax + 8]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x18], ecx
push edi
mov edi, dword [eax + 0x68]
lea edx, [ecx*4]
mov dword [esp + 0x14], edi
mov ecx, dword [eax + 0x78]
add ecx, 0xc
mov dword [esp + 0x30], edx
add ecx, edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x18], ecx
mov edx, 1
mov ecx, dword [esp + 0x40]
shl edx, cl
sar edx, 1
mov dword [esp + 0x24], edx
mov edx, dword [eax + 0x80]
mov dword [esp + 0x28], 0
test edx, 0xfffffffc
jbe 0x537a4a
mov ecx, dword [esp + 0x1c]
lea edi, [ecx + ecx*2]
shl edi, 2
mov dword [esp + 0x2c], edi
nop dword [eax]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x1c], ecx
jbe 0x537a21
mov edx, dword [edx]
mov dword [esp + 0x40], edx
test edx, edx
je 0x537a02
mov ecx, edx
and ecx, 0x200010
cmp ecx, 0x10
jne 0x5374e9
mov ecx, edx
and ecx, 0x1ef
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0xe
test edx, 0x100000
mov edx, 0x10
cmovne ecx, edx
add ecx, 7
mov edx, dword [eax + ecx*4]
lea ecx, [eax + ecx*4]
mov dword [esp + 0x14], ecx
mov ecx, ebp
shr ecx, 0x10
mov edi, dword [edx]
sub esi, edi
mov dword [esp + 0x3c], esi
cmp ecx, edi
jae 0x537427
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
cmp esi, edi
jae 0x5373b4
mov ecx, dword [edx + 8]
jmp 0x5373c4
xor ecx, ecx
cmp dword [esp + 0x20], ecx
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0xc]
mov esi, dword [esp + 0x14]
mov edx, edi
mov dword [esi], ecx
nop dword [eax]
test ebx, ebx
jne 0x537411
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x537404
cmp esi, 0x8f
jbe 0x5373fa
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x53740f
mov ebx, 7
shl esi, 9
jmp 0x53740c
shl esi, 8
mov ebx, 8
mov dword [eax + 0x10], edi
add ebp, esi
add edx, edx
add ebp, ebp
dec ebx
cmp edx, 0x8000
jb 0x5373d0
mov dword [esp + 0x3c], edx
jmp 0x5374b9
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [edx + 4]
test esi, 0x8000
jne 0x5374b5
cmp esi, edi
jae 0x537454
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0xc]
jmp 0x53745b
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
test ebx, ebx
jne 0x5374a2
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x537495
cmp edx, 0x8f
jbe 0x53748b
inc dword [eax + 0xc]
mov ebx, 8
mov edx, 0xff00
jmp 0x5374a0
mov ebx, 7
shl edx, 9
jmp 0x53749d
shl edx, 8
mov ebx, 8
mov dword [eax + 0x10], edi
add ebp, edx
add esi, esi
add ebp, ebp
dec ebx
cmp esi, 0x8000
jb 0x537461
mov dword [esp + 0x3c], esi
jmp 0x5374b9
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
mov ecx, esi
neg ecx
mov edx, dword [edi]
shr edx, 0x1f
cmp edx, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
cmove esi, ecx
mov ecx, edi
add esi, dword [edi]
or edx, 0x100000
mov dword [esp + 0x40], edx
mov dword [ecx], esi
mov esi, dword [esp + 0x3c]
mov ecx, edx
and ecx, 0x1000080
cmp ecx, 0x80
jne 0x537693
mov ecx, edx
shr ecx, 3
mov edx, ecx
and edx, 0x1ef
neg edx
sbb edx, edx
neg edx
add edx, 0xe
test ecx, 0x100000
mov ecx, 0x10
cmovne edx, ecx
add edx, 7
lea ecx, [eax + edx*4]
mov edx, dword [ecx]
mov dword [esp + 0x14], ecx
mov ecx, ebp
shr ecx, 0x10
mov edi, dword [edx]
sub esi, edi
mov dword [esp + 0x3c], esi
cmp ecx, edi
jae 0x5375c7
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
cmp esi, edi
jae 0x537552
mov ecx, dword [edx + 8]
jmp 0x537562
xor ecx, ecx
cmp dword [esp + 0x20], ecx
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
mov edx, edi
nop word [eax + eax]
test ebx, ebx
jne 0x5375b1
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x5375a4
cmp esi, 0x8f
jbe 0x53759a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x5375af
mov ebx, 7
shl esi, 9
jmp 0x5375ac
shl esi, 8
mov ebx, 8
mov dword [eax + 0x10], edi
add ebp, esi
add edx, edx
add ebp, ebp
dec ebx
cmp edx, 0x8000
jb 0x537570
mov dword [esp + 0x3c], edx
jmp 0x537659
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [edx + 4]
test esi, 0x8000
jne 0x537655
cmp esi, edi
jae 0x5375f4
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0xc]
jmp 0x5375fb
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
test ebx, ebx
jne 0x537642
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x537635
cmp edx, 0x8f
jbe 0x53762b
inc dword [eax + 0xc]
mov ebx, 8
mov edx, 0xff00
jmp 0x537640
mov ebx, 7
shl edx, 9
jmp 0x53763d
shl edx, 8
mov ebx, 8
mov dword [eax + 0x10], edi
add ebp, edx
add esi, esi
add ebp, ebp
dec ebx
cmp esi, 0x8000
jb 0x537601
mov dword [esp + 0x3c], esi
jmp 0x537659
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
mov edi, dword [edi + ecx]
mov ecx, esi
mov edx, edi
neg ecx
shr edx, 0x1f
cmp edx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
cmove esi, ecx
mov ecx, dword [esp + 0x10]
add esi, edi
mov dword [edx + ecx], esi
mov edx, dword [esp + 0x40]
or edx, 0x800000
mov dword [esp + 0x40], edx
mov ecx, edx
and ecx, 0x8000400
cmp ecx, 0x400
jne 0x537843
mov ecx, edx
shr ecx, 6
mov edx, ecx
and edx, 0x1ef
neg edx
sbb edx, edx
neg edx
add edx, 0xe
test ecx, 0x100000
mov ecx, 0x10
cmovne edx, ecx
add edx, 7
mov esi, dword [eax + edx*4]
lea ecx, [eax + edx*4]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov ecx, ebp
shr ecx, 0x10
mov edi, dword [esi]
sub edx, edi
mov dword [esp + 0x3c], edx
cmp ecx, edi
jae 0x537777
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edx, edi
jae 0x537701
mov ecx, dword [esi + 8]
jmp 0x537711
xor ecx, ecx
cmp dword [esp + 0x20], ecx
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
mov edx, edi
nop dword [eax]
test ebx, ebx
jne 0x537761
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x537754
cmp esi, 0x8f
jbe 0x53774a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x53775f
mov ebx, 7
shl esi, 9
jmp 0x53775c
shl esi, 8
mov ebx, 8
mov dword [eax + 0x10], edi
add ebp, esi
add edx, edx
add ebp, ebp
dec ebx
cmp edx, 0x8000
jb 0x537720
mov dword [esp + 0x3c], edx
jmp 0x537809
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [esi + 4]
test edx, 0x8000
jne 0x537805
cmp edx, edi
jae 0x5377a4
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
jmp 0x5377ab
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 8]
mov esi, dword [esp + 0x14]
mov dword [esi], ecx
test ebx, ebx
jne 0x5377f2
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x5377e5
cmp esi, 0x8f
jbe 0x5377db
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x5377f0
mov ebx, 7
shl esi, 9
jmp 0x5377ed
shl esi, 8
mov ebx, 8
mov dword [eax + 0x10], edi
add ebp, esi
add edx, edx
add ebp, ebp
dec ebx
cmp edx, 0x8000
jb 0x5377b1
mov dword [esp + 0x3c], edx
jmp 0x537809
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov edi, dword [ecx + edx*8]
mov ecx, esi
mov edx, edi
neg ecx
shr edx, 0x1f
cmp edx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
cmove esi, ecx
mov ecx, dword [esp + 0x10]
add esi, edi
mov dword [ecx + edx*8], esi
mov edx, dword [esp + 0x40]
or edx, 0x4000000
mov dword [esp + 0x40], edx
mov ecx, edx
and ecx, 0x40002000
cmp ecx, 0x2000
jne 0x5379f0
mov ecx, edx
shr ecx, 9
mov edx, ecx
and edx, 0x1ef
neg edx
sbb edx, edx
neg edx
add edx, 0xe
test ecx, 0x100000
mov ecx, 0x10
cmovne edx, ecx
add edx, 7
mov esi, dword [eax + edx*4]
lea ecx, [eax + edx*4]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov ecx, ebp
shr ecx, 0x10
mov edi, dword [esi]
sub edx, edi
mov dword [esp + 0x3c], edx
cmp ecx, edi
jae 0x537927
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edx, edi
jae 0x5378b1
mov ecx, dword [esi + 8]
jmp 0x5378c1
xor ecx, ecx
cmp dword [esp + 0x20], ecx
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
mov edx, edi
nop dword [eax]
test ebx, ebx
jne 0x537911
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x537904
cmp esi, 0x8f
jbe 0x5378fa
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x53790f
mov ebx, 7
shl esi, 9
jmp 0x53790c
shl esi, 8
mov ebx, 8
mov dword [eax + 0x10], edi
add ebp, esi
add edx, edx
add ebp, ebp
dec ebx
cmp edx, 0x8000
jb 0x5378d0
mov dword [esp + 0x3c], edx
jmp 0x5379b8
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [esi + 4]
test edx, 0x8000
jne 0x5379b4
cmp edx, edi
jae 0x537950
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
jmp 0x537957
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 8]
mov esi, dword [esp + 0x14]
mov dword [esi], ecx
nop dword [eax]
test ebx, ebx
jne 0x5379a1
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x537994
cmp esi, 0x8f
jbe 0x53798a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x53799f
mov ebx, 7
shl esi, 9
jmp 0x53799c
shl esi, 8
mov ebx, 8
mov dword [eax + 0x10], edi
add ebp, esi
add edx, edx
add ebp, ebp
dec ebx
cmp edx, 0x8000
jb 0x537960
mov dword [esp + 0x3c], edx
jmp 0x5379b8
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov edi, dword [edi + ecx]
mov edx, edi
mov ecx, esi
shr edx, 0x1f
neg ecx
cmp edx, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
cmove esi, ecx
mov ecx, dword [esp + 0x10]
add esi, edi
mov edi, dword [esp + 0x2c]
or edx, 0x20000000
mov dword [edi + ecx], esi
jmp 0x5379f4
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
mov dword [ecx], edx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
inc ecx
add dword [esp + 0x10], 4
add edx, 4
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], edx
cmp ecx, dword [esp + 0x1c]
jb 0x537344
add dword [esp + 0x28], 4
add edx, 8
add dword [esp + 0x10], edi
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0x80]
mov ecx, edx
and ecx, 0xfffffffc
cmp dword [esp + 0x28], ecx
jb 0x537330
mov edi, dword [esp + 0x14]
mov dword [eax + 0x68], edi
mov edi, dword [esp + 0x28]
mov dword [eax], ebp
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
cmp edi, edx
jae 0x537cbd
cmp dword [esp + 0x1c], 0
jbe 0x537cbd
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
sub ebx, esi
mov dword [esp + 0x10], ebx
nop word [eax + eax]
xor ebp, ebp
mov ecx, edx
mov dword [esp + 0x34], ebp
sub ecx, edi
je 0x537cab
xor ecx, ecx
add ebx, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], ebx
nop dword [eax]
mov edi, dword [esi]
mov edx, 0x10
mov esi, 0x200010
shl edx, cl
shl esi, cl
and esi, edi
cmp esi, edx
jne 0x537c75
shr edi, cl
mov edx, 0x10
mov ecx, edi
mov esi, dword [eax]
and ecx, 0x1ef
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0xe
test edi, 0x100000
mov edi, dword [eax + 4]
cmovne ecx, edx
add ecx, 7
lea ebx, [eax + ecx*4]
mov dword [eax + 0x68], ebx
mov ecx, dword [ebx]
sub edi, dword [ecx]
mov dword [eax + 4], edi
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov ecx, esi
shr ecx, 0x10
cmp ecx, edx
jae 0x537b9a
mov dword [eax + 4], edx
mov esi, dword [ebx]
mov ecx, dword [esi + 4]
mov dword [esp + 0x3c], ecx
cmp edi, edx
jae 0x537b16
mov ecx, dword [esi + 8]
jmp 0x537b26
xor ecx, ecx
cmp dword [esp + 0x3c], ecx
sete cl
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebx], ecx
mov edi, dword [eax]
mov edx, edi
mov ebp, dword [eax + 4]
nop
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x537b7d
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea ebx, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x537b6e
cmp esi, 0x8f
jbe 0x537b5f
inc dword [eax + 0xc]
mov esi, 0xff00
mov ecx, 8
add edx, esi
jmp 0x537b7d
shl esi, 9
mov ecx, 7
mov dword [eax + 0x10], ebx
add edx, esi
jmp 0x537b7d
mov edx, esi
mov dword [eax + 0x10], ebx
shl edx, 8
mov ecx, 8
add edx, edi
add ebp, ebp
lea edi, [edx + edx]
dec ecx
mov dword [eax + 4], ebp
mov dword [eax], edi
mov edx, edi
mov dword [eax + 8], ecx
cmp ebp, 0x8000
jb 0x537b30
jmp 0x537c42
shl edx, 0x10
sub esi, edx
mov dword [eax], esi
mov ecx, dword [ebx]
test edi, 0x8000
jne 0x537c3b
mov edx, dword [ecx + 4]
cmp edi, dword [ecx]
jae 0x537bc4
mov ecx, dword [ecx + 0xc]
xor ebp, ebp
test edx, edx
mov edx, ebp
sete dl
jmp 0x537bc7
mov ecx, dword [ecx + 8]
mov dword [ebx], ecx
mov edi, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp + 0x3c], edx
mov edx, edi
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x537c21
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea ebx, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x537c12
cmp esi, 0x8f
jbe 0x537c03
inc dword [eax + 0xc]
mov esi, 0xff00
mov ecx, 8
add edx, esi
jmp 0x537c21
shl esi, 9
mov ecx, 7
mov dword [eax + 0x10], ebx
add edx, esi
jmp 0x537c21
mov edx, esi
mov dword [eax + 0x10], ebx
shl edx, 8
mov ecx, 8
add edx, edi
add ebp, ebp
lea edi, [edx + edx]
dec ecx
mov dword [eax + 4], ebp
mov dword [eax], edi
mov edx, edi
mov dword [eax + 8], ecx
cmp ebp, 0x8000
jb 0x537bd4
jmp 0x537c42
mov ecx, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x24]
neg ecx
mov ebp, dword [esp + 0x34]
mov edx, dword [ebx]
shr edx, 0x1f
cmp edx, dword [esp + 0x3c]
mov edx, 0x100000
cmove esi, ecx
mov ecx, dword [esp + 0x40]
add dword [ebx], esi
mov esi, dword [esp + 0x18]
shl edx, cl
or dword [esi], edx
jmp 0x537c79
mov esi, dword [esp + 0x18]
mov edx, dword [eax + 0x80]
add ecx, 3
mov edi, dword [esp + 0x28]
inc ebp
add ebx, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov ecx, edx
sub ecx, edi
mov dword [esp + 0x34], ebp
cmp ebp, ecx
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x40]
jb 0x537aa0
mov ebx, dword [esp + 0x10]
add esi, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], esi
jne 0x537a80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret