Function at 0x532ac0
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 0x53325a
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 0x533231
mov edx, dword [edx]
mov dword [esp + 0x40], edx
test edx, edx
je 0x533212
mov ecx, edx
and ecx, 0x200010
cmp ecx, 0x10
jne 0x532cf9
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 0x532c37
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
cmp esi, edi
jae 0x532bc4
mov ecx, dword [edx + 8]
jmp 0x532bd4
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 0x532c21
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532c14
cmp esi, 0x8f
jbe 0x532c0a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x532c1f
mov ebx, 7
shl esi, 9
jmp 0x532c1c
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 0x532be0
mov dword [esp + 0x3c], edx
jmp 0x532cc9
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [edx + 4]
test esi, 0x8000
jne 0x532cc5
cmp esi, edi
jae 0x532c64
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0xc]
jmp 0x532c6b
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
test ebx, ebx
jne 0x532cb2
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532ca5
cmp edx, 0x8f
jbe 0x532c9b
inc dword [eax + 0xc]
mov ebx, 8
mov edx, 0xff00
jmp 0x532cb0
mov ebx, 7
shl edx, 9
jmp 0x532cad
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 0x532c71
mov dword [esp + 0x3c], esi
jmp 0x532cc9
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 0x532ea3
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 0x532dd7
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
cmp esi, edi
jae 0x532d62
mov ecx, dword [edx + 8]
jmp 0x532d72
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 0x532dc1
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532db4
cmp esi, 0x8f
jbe 0x532daa
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x532dbf
mov ebx, 7
shl esi, 9
jmp 0x532dbc
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 0x532d80
mov dword [esp + 0x3c], edx
jmp 0x532e69
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [edx + 4]
test esi, 0x8000
jne 0x532e65
cmp esi, edi
jae 0x532e04
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0xc]
jmp 0x532e0b
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
test ebx, ebx
jne 0x532e52
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532e45
cmp edx, 0x8f
jbe 0x532e3b
inc dword [eax + 0xc]
mov ebx, 8
mov edx, 0xff00
jmp 0x532e50
mov ebx, 7
shl edx, 9
jmp 0x532e4d
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 0x532e11
mov dword [esp + 0x3c], esi
jmp 0x532e69
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 0x533053
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 0x532f87
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edx, edi
jae 0x532f11
mov ecx, dword [esi + 8]
jmp 0x532f21
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 0x532f71
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532f64
cmp esi, 0x8f
jbe 0x532f5a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x532f6f
mov ebx, 7
shl esi, 9
jmp 0x532f6c
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 0x532f30
mov dword [esp + 0x3c], edx
jmp 0x533019
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [esi + 4]
test edx, 0x8000
jne 0x533015
cmp edx, edi
jae 0x532fb4
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
jmp 0x532fbb
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 8]
mov esi, dword [esp + 0x14]
mov dword [esi], ecx
test ebx, ebx
jne 0x533002
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532ff5
cmp esi, 0x8f
jbe 0x532feb
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x533000
mov ebx, 7
shl esi, 9
jmp 0x532ffd
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 0x532fc1
mov dword [esp + 0x3c], edx
jmp 0x533019
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 0x533200
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 0x533137
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edx, edi
jae 0x5330c1
mov ecx, dword [esi + 8]
jmp 0x5330d1
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 0x533121
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x533114
cmp esi, 0x8f
jbe 0x53310a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x53311f
mov ebx, 7
shl esi, 9
jmp 0x53311c
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 0x5330e0
mov dword [esp + 0x3c], edx
jmp 0x5331c8
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [esi + 4]
test edx, 0x8000
jne 0x5331c4
cmp edx, edi
jae 0x533160
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
jmp 0x533167
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 0x5331b1
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x5331a4
cmp esi, 0x8f
jbe 0x53319a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x5331af
mov ebx, 7
shl esi, 9
jmp 0x5331ac
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 0x533170
mov dword [esp + 0x3c], edx
jmp 0x5331c8
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 0x533204
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 0x532b54
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 0x532b40
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 0x5334cd
cmp dword [esp + 0x1c], 0
jbe 0x5334cd
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 0x5334bb
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 0x533485
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 0x5333aa
mov dword [eax + 4], edx
mov esi, dword [ebx]
mov ecx, dword [esi + 4]
mov dword [esp + 0x3c], ecx
cmp edi, edx
jae 0x533326
mov ecx, dword [esi + 8]
jmp 0x533336
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 0x53338d
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea ebx, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x53337e
cmp esi, 0x8f
jbe 0x53336f
inc dword [eax + 0xc]
mov esi, 0xff00
mov ecx, 8
add edx, esi
jmp 0x53338d
shl esi, 9
mov ecx, 7
mov dword [eax + 0x10], ebx
add edx, esi
jmp 0x53338d
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 0x533340
jmp 0x533452
shl edx, 0x10
sub esi, edx
mov dword [eax], esi
mov ecx, dword [ebx]
test edi, 0x8000
jne 0x53344b
mov edx, dword [ecx + 4]
cmp edi, dword [ecx]
jae 0x5333d4
mov ecx, dword [ecx + 0xc]
xor ebp, ebp
test edx, edx
mov edx, ebp
sete dl
jmp 0x5333d7
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 0x533431
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea ebx, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x533422
cmp esi, 0x8f
jbe 0x533413
inc dword [eax + 0xc]
mov esi, 0xff00
mov ecx, 8
add edx, esi
jmp 0x533431
shl esi, 9
mov ecx, 7
mov dword [eax + 0x10], ebx
add edx, esi
jmp 0x533431
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 0x5333e4
jmp 0x533452
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 0x533489
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 0x5332b0
mov ebx, dword [esp + 0x10]
add esi, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], esi
jne 0x533290
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret