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

Disassembly:
sub esp, 0x58
mov eax, dword [0x571134]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
mov ebx, dword [esp + 0x64]
push ebp
mov ebp, dword [esp + 0x64]
push esi
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x70]
mov esi, dword [ebp + 8]
push edi
cmp eax, 5
ja case.default.0x46d030
jmp dword [eax*4 + 0x46d2fc]
dec dword [ebp + 0x38]
mov edi, dword [esp + 0x78]
mov eax, dword [ebp + 0x38]
push edi
push dword [ebx + 8]
mov dword [esp + 0x1c], eax
push ebp
call fcn.004a0d00
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp eax, 1
jle 0x46d0c4
add ebx, 0x1c
dec eax
mov dword [esp + 0x10], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x46d07f
push 0
push dword [esp + 0x18]
push edi
push 0x33
push esi
call fcn.00475980
add esp, 0x14
jmp 0x46d0ae
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push edi
push dword [ebx]
push ebp
call fcn.004a0d00
add esp, 0xc
add ebx, 0x14
sub dword [esp + 0x10], 1
jne 0x46d063
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x46d0d3
mov eax, 0x5751d0
jmp 0x46d0e2
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp byte [eax], 0x50
jne 0x46d0fe
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x46d0fe
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x14]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x46d11c
push edx
push esi
push ecx
call fcn.0048b850
jmp 0x46d2e4
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004fb4f7
add esp, 0x58
ret
push 0x34
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.004fd610
push dword [esp + 0x84]
lea eax, [esp + 0x28]
mov byte [esp + 0x28], 0x9d
push eax
push ebp
mov dword [esp + 0x44], ebx
call fcn.004a2370
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004fb4f7
add esp, 0x58
ret
mov edi, dword [esp + 0x78]
push edi
push 0xffffffffffffffff
push dword [ebx + 0x1c]
push dword [ebx + 8]
push 0
call fcn.004a3880
add esp, 0x10
push eax
push 0x47
push esi
call fcn.004c6d90
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004fb4f7
add esp, 0x58
ret
mov edi, dword [esp + 0x78]
push edi
push 0xffffffffffffffff
push dword [ebx + 0x1c]
push dword [ebx + 8]
push ebp
call fcn.004a4810
add esp, 0x10
push eax
push 0x47
push esi
call fcn.004c6d90
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004fb4f7
add esp, 0x58
ret
mov eax, dword [ebx + 0x1c]
cmp byte [eax], 0xa7
jne 0x46d22d
push 1
push dword [eax + 0x1c]
mov ebp, 0x47
push dword [ebx + 8]
call fcn.004a4890
mov edi, dword [esp + 0x84]
add esp, 0xc
push edi
push eax
push ebp
push esi
call fcn.004c6d90
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004fb4f7
add esp, 0x58
ret
mov edi, dword [esp + 0x78]
xor eax, eax
push edi
push eax
mov ebp, 0x4b
push ebp
push esi
call fcn.004c6d90
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004fb4f7
add esp, 0x58
ret
push dword [ebx + 8]
mov dword [esp + 0x50], str.blob
mov dword [esp + 0x54], str.text
mov dword [esp + 0x58], str.numeric
mov dword [esp + 0x5c], str.integer
mov dword [esp + 0x60], str.real
mov dword [esp + 0x64], str.flexnum
call fcn.004a04d0
add esp, 4
cmp al, 0x40
jg 0x46d29f
mov eax, str.none
jmp 0x46d2a9
movsx eax, al
mov eax, dword [esp + eax*4 - 0xb8]
mov edi, dword [esp + 0x78]
push 0
push eax
push 0
push edi
push 0
push 0x75
push esi
call fcn.004c6e50
add esp, 0x1c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004fb4f7
add esp, 0x58
ret
push dword [esp + 0x78]
push dword [ebx + 8]
push ebp
call fcn.004a2370
mov edi, eax
mov ecx, dword [esp + 0x70]
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004fb4f7
add esp, 0x58
ret