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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x2c
mov eax, dword [edx]
sub eax, 3
cmp eax, 0x26
jbe switch.0x00564ab1
add esp, 0x2c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00562020
jmp dword [eax*4 + 0x610884]
mov eax, dword [ebx + 0x104]
xor esi, esi
lea ebp, [ebx + 4]
jmp 0x564ae6
mov edi, eax
add eax, 1
add esi, 1
cmp esi, 0xa
mov byte [ebx + edi + 4], cl
mov dword [ebx + 0x104], eax
mov byte [ebx + 0x108], cl
je 0x564f40
cmp eax, 0xff
movzx ecx, byte [esi + str.___vector_]
jne 0x564ac5
mov eax, dword [ebx + 0x110]
xor edi, edi
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], cl
mov byte [ebx + 0x103], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], ebp
call dword [ebx + 0x10c]
mov eax, 1
movzx ecx, byte [esp + 0x1c]
add dword [ebx + 0x124], 1
mov edx, dword [esp + 0x18]
jmp 0x564aca
mov eax, dword [ebx + 0x104]
xor esi, esi
lea edi, [ebx + 4]
jmp 0x564b65
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 9
mov byte [ebx + ecx + 4], dl
mov dword [ebx + 0x104], eax
mov byte [ebx + 0x108], dl
je 0x564cf0
cmp eax, 0xff
movzx edx, byte [esi + str._restrict]
jne 0x564b44
mov eax, dword [ebx + 0x110]
mov byte [esp + 0x18], dl
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [ebx + 0x10c]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x124], 1
movzx edx, byte [esp + 0x18]
jmp 0x564b49
mov edx, dword [edx + 4]
jmp case.0x564ab1.4
mov eax, dword [ebx + 0x104]
xor esi, esi
lea edi, [ebx + 4]
jmp 0x564be6
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 9
mov byte [ebx + ecx + 4], dl
mov dword [ebx + 0x104], eax
mov byte [ebx + 0x108], dl
je 0x564cf0
cmp eax, 0xff
movzx edx, byte [esi + str._volatile]
jne 0x564bc5
mov eax, dword [ebx + 0x110]
mov byte [esp + 0x18], dl
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [ebx + 0x10c]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x124], 1
movzx edx, byte [esp + 0x18]
jmp 0x564bca
mov eax, dword [ebx + 0x104]
xor esi, esi
lea edi, [ebx + 4]
jmp 0x564c61
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 6
mov byte [ebx + ecx + 4], dl
mov dword [ebx + 0x104], eax
mov byte [ebx + 0x108], dl
je 0x564cf0
cmp eax, 0xff
movzx edx, byte [esi + str._const]
jne 0x564c40
mov eax, dword [ebx + 0x110]
mov byte [esp + 0x18], dl
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [ebx + 0x10c]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x124], 1
movzx edx, byte [esp + 0x18]
jmp 0x564c45
mov eax, dword [ebx + 0x104]
cmp eax, 0xff
lea ecx, [eax + 1]
je 0x564fa0
mov byte [ebx + eax + 4], 0x20
mov dword [ebx + 0x104], ecx
mov byte [ebx + 0x108], 0x20
mov edx, dword [edx + 8]
jmp case.0x564ab1.4
test byte [ebx], 4
je 0x564f75
lea esi, [esi]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x104]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x564fe0
mov byte [ebx + eax + 4], 0x26
mov dword [ebx + 0x104], edx
mov byte [ebx + 0x108], 0x26
jmp 0x564cf0
mov eax, dword [ebx + 0x104]
xor esi, esi
lea edi, [ebx + 4]
jmp 0x564d4d
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 2
mov byte [ebx + ecx + 4], dl
mov dword [ebx + 0x104], eax
mov byte [ebx + 0x108], dl
je 0x564cf0
cmp eax, 0xff
movzx edx, byte [esi + 0x61085b]
jne 0x564d30
mov eax, dword [ebx + 0x110]
mov byte [esp + 0x18], dl
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [ebx + 0x10c]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x124], 1
movzx edx, byte [esp + 0x18]
jmp 0x564d35
mov eax, dword [ebx + 0x104]
xor esi, esi
lea edi, [ebx + 4]
jmp 0x564dc4
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 8
mov byte [ebx + ecx + 4], dl
mov dword [ebx + 0x104], eax
mov byte [ebx + 0x108], dl
je 0x564cf0
cmp eax, 0xff
movzx edx, byte [esi + str.complex]
jne 0x564da3
mov eax, dword [ebx + 0x110]
mov byte [esp + 0x18], dl
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [ebx + 0x10c]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x124], 1
movzx edx, byte [esp + 0x18]
jmp 0x564da8
mov eax, dword [ebx + 0x104]
xor esi, esi
lea edi, [ebx + 4]
jmp 0x564e41
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 0xa
mov byte [ebx + ecx + 4], dl
mov dword [ebx + 0x104], eax
mov byte [ebx + 0x108], dl
je 0x564cf0
cmp eax, 0xff
movzx edx, byte [esi + str.imaginary]
jne 0x564e20
mov eax, dword [ebx + 0x110]
mov byte [esp + 0x18], dl
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [ebx + 0x10c]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x124], 1
movzx edx, byte [esp + 0x18]
jmp 0x564e25
cmp byte [ebx + 0x108], 0x28
je 0x564ebf
mov eax, dword [ebx + 0x104]
cmp eax, 0xff
lea ecx, [eax + 1]
je 0x565050
mov byte [ebx + eax + 4], 0x20
mov dword [ebx + 0x104], ecx
mov byte [ebx + 0x108], 0x20
mov edx, dword [edx + 4]
mov eax, ebx
xor esi, esi
lea edi, [ebx + 4]
call fcn.00562020
mov eax, dword [ebx + 0x104]
jmp 0x564ef7
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 3
mov byte [ebx + ecx + 4], dl
mov dword [ebx + 0x104], eax
mov byte [ebx + 0x108], dl
je 0x564cf0
cmp eax, 0xff
movzx edx, byte [esi + 0x610872]
jne 0x564ed6
mov eax, dword [ebx + 0x110]
mov byte [esp + 0x18], dl
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [ebx + 0x10c]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x124], 1
movzx edx, byte [esp + 0x18]
jmp 0x564edb
mov edx, dword [edx + 4]
mov eax, ebx
call fcn.00562020
mov eax, dword [ebx + 0x104]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x565018
mov byte [ebx + eax + 4], 0x29
mov dword [ebx + 0x104], edx
mov byte [ebx + 0x108], 0x29
jmp 0x564cf0
mov eax, dword [ebx + 0x104]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x565090
mov byte [ebx + eax + 4], 0x2a
mov dword [ebx + 0x104], edx
mov byte [ebx + 0x108], 0x2a
jmp 0x564cf0
mov eax, dword [ebx + 0x110]
mov dword [esp + 0x18], edx
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
lea eax, [ebx + 4]
mov dword [esp], eax
call dword [ebx + 0x10c]
mov ecx, 1
xor eax, eax
add dword [ebx + 0x124], 1
mov edx, dword [esp + 0x18]
jmp 0x564cc4
mov eax, dword [ebx + 0x110]
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
lea eax, [ebx + 4]
mov dword [esp], eax
call dword [ebx + 0x10c]
mov edx, 1
xor eax, eax
add dword [ebx + 0x124], 1
jmp 0x564d0c
mov eax, dword [ebx + 0x110]
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
lea eax, [ebx + 4]
mov dword [esp], eax
call dword [ebx + 0x10c]
mov edx, 1
xor eax, eax
add dword [ebx + 0x124], 1
jmp 0x564f5e
mov eax, dword [ebx + 0x110]
mov dword [esp + 0x18], edx
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
lea eax, [ebx + 4]
mov dword [esp], eax
call dword [ebx + 0x10c]
mov ecx, 1
xor eax, eax
add dword [ebx + 0x124], 1
mov edx, dword [esp + 0x18]
jmp 0x564ead
mov eax, dword [ebx + 0x110]
mov byte [ebx + 0x103], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
lea eax, [ebx + 4]
mov dword [esp], eax
call dword [ebx + 0x10c]
mov edx, 1
xor eax, eax
add dword [ebx + 0x124], 1
jmp 0x564f89