Function at 0x532820
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 0x532fba
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 0x532f91
mov edx, dword [edx]
mov dword [esp + 0x40], edx
test edx, edx
je 0x532f72
mov ecx, edx
and ecx, 0x200010
cmp ecx, 0x10
jne 0x532a59
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 0x532997
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
cmp esi, edi
jae 0x532924
mov ecx, dword [edx + 8]
jmp 0x532934
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 0x532981
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532974
cmp esi, 0x8f
jbe 0x53296a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x53297f
mov ebx, 7
shl esi, 9
jmp 0x53297c
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 0x532940
mov dword [esp + 0x3c], edx
jmp 0x532a29
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [edx + 4]
test esi, 0x8000
jne 0x532a25
cmp esi, edi
jae 0x5329c4
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0xc]
jmp 0x5329cb
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
test ebx, ebx
jne 0x532a12
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532a05
cmp edx, 0x8f
jbe 0x5329fb
inc dword [eax + 0xc]
mov ebx, 8
mov edx, 0xff00
jmp 0x532a10
mov ebx, 7
shl edx, 9
jmp 0x532a0d
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 0x5329d1
mov dword [esp + 0x3c], esi
jmp 0x532a29
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 0x532c03
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 0x532b37
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
cmp esi, edi
jae 0x532ac2
mov ecx, dword [edx + 8]
jmp 0x532ad2
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 0x532b21
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532b14
cmp esi, 0x8f
jbe 0x532b0a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x532b1f
mov ebx, 7
shl esi, 9
jmp 0x532b1c
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 0x532ae0
mov dword [esp + 0x3c], edx
jmp 0x532bc9
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [edx + 4]
test esi, 0x8000
jne 0x532bc5
cmp esi, edi
jae 0x532b64
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0xc]
jmp 0x532b6b
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
test ebx, ebx
jne 0x532bb2
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532ba5
cmp edx, 0x8f
jbe 0x532b9b
inc dword [eax + 0xc]
mov ebx, 8
mov edx, 0xff00
jmp 0x532bb0
mov ebx, 7
shl edx, 9
jmp 0x532bad
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 0x532b71
mov dword [esp + 0x3c], esi
jmp 0x532bc9
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 0x532db3
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 0x532ce7
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edx, edi
jae 0x532c71
mov ecx, dword [esi + 8]
jmp 0x532c81
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 0x532cd1
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532cc4
cmp esi, 0x8f
jbe 0x532cba
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x532ccf
mov ebx, 7
shl esi, 9
jmp 0x532ccc
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 0x532c90
mov dword [esp + 0x3c], edx
jmp 0x532d79
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [esi + 4]
test edx, 0x8000
jne 0x532d75
cmp edx, edi
jae 0x532d14
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
jmp 0x532d1b
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 8]
mov esi, dword [esp + 0x14]
mov dword [esi], ecx
test ebx, ebx
jne 0x532d62
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532d55
cmp esi, 0x8f
jbe 0x532d4b
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x532d60
mov ebx, 7
shl esi, 9
jmp 0x532d5d
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 0x532d21
mov dword [esp + 0x3c], edx
jmp 0x532d79
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 0x532f60
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 0x532e97
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edx, edi
jae 0x532e21
mov ecx, dword [esi + 8]
jmp 0x532e31
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 0x532e81
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532e74
cmp esi, 0x8f
jbe 0x532e6a
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x532e7f
mov ebx, 7
shl esi, 9
jmp 0x532e7c
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 0x532e40
mov dword [esp + 0x3c], edx
jmp 0x532f28
mov ecx, edi
shl ecx, 0x10
sub ebp, ecx
mov ecx, dword [esi + 4]
test edx, 0x8000
jne 0x532f24
cmp edx, edi
jae 0x532ec0
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
jmp 0x532ec7
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 0x532f11
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea edi, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x532f04
cmp esi, 0x8f
jbe 0x532efa
inc dword [eax + 0xc]
mov ebx, 8
mov esi, 0xff00
jmp 0x532f0f
mov ebx, 7
shl esi, 9
jmp 0x532f0c
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 0x532ed0
mov dword [esp + 0x3c], edx
jmp 0x532f28
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 0x532f64
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 0x5328b4
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 0x5328a0
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 0x53322d
cmp dword [esp + 0x1c], 0
jbe 0x53322d
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 0x53321b
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 0x5331e5
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 0x53310a
mov dword [eax + 4], edx
mov esi, dword [ebx]
mov ecx, dword [esi + 4]
mov dword [esp + 0x3c], ecx
cmp edi, edx
jae 0x533086
mov ecx, dword [esi + 8]
jmp 0x533096
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 0x5330ed
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea ebx, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x5330de
cmp esi, 0x8f
jbe 0x5330cf
inc dword [eax + 0xc]
mov esi, 0xff00
mov ecx, 8
add edx, esi
jmp 0x5330ed
shl esi, 9
mov ecx, 7
mov dword [eax + 0x10], ebx
add edx, esi
jmp 0x5330ed
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 0x5330a0
jmp 0x5331b2
shl edx, 0x10
sub esi, edx
mov dword [eax], esi
mov ecx, dword [ebx]
test edi, 0x8000
jne 0x5331ab
mov edx, dword [ecx + 4]
cmp edi, dword [ecx]
jae 0x533134
mov ecx, dword [ecx + 0xc]
xor ebp, ebp
test edx, edx
mov edx, ebp
sete dl
jmp 0x533137
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 0x533191
mov ecx, dword [eax + 0x10]
movzx esi, byte [ecx + 1]
lea ebx, [ecx + 1]
cmp byte [ecx], 0xff
jne 0x533182
cmp esi, 0x8f
jbe 0x533173
inc dword [eax + 0xc]
mov esi, 0xff00
mov ecx, 8
add edx, esi
jmp 0x533191
shl esi, 9
mov ecx, 7
mov dword [eax + 0x10], ebx
add edx, esi
jmp 0x533191
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 0x533144
jmp 0x5331b2
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 0x5331e9
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 0x533010
mov ebx, dword [esp + 0x10]
add esi, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], esi
jne 0x532ff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret