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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
mov esi, ecx
push edi
lea ebx, [esi + 0x18]
push ebx
call fcn.301ead2b
mov edi, eax
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x108], 0
mov dword [ebp - 0x1c], edi
je 0x301ebce1
mov ecx, dword [esi + 8]
push 0x3029b7f4
push edi
push str.method_count
add ecx, 0x1c
call fcn.301d5acf
mov ecx, eax
call fcn.301d5c63
mov ecx, eax
call fcn.301d5acf
test edi, edi
mov dword [ebp - 0x10], 1
je 0x301ebcef
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x40]
sub eax, dword [ebx]
cmp dword [ebp - 0x10], eax
jle 0x301ebd05
mov ecx, dword [esi]
push 0x453
call fcn.301c8c81
mov ecx, dword [esi + 0x14]
push dword [ebp - 0x10]
add ecx, 0x78
call fcn.301cb8d0
mov eax, dword [esi + 0x14]
and dword [ebp - 4], 0
test edi, edi
mov dword [eax + 0xbc], edi
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
jle 0x301ec06e
mov edi, dword [ebx]
sub edi, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.301ead2b
mov dword [ebp - 8], eax
mov eax, dword [ebx]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], eax
call fcn.301d7e18
lea eax, [ebp - 0x34]
push eax
push ebx
mov ecx, esi
call fcn.301eaf1d
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x108], 0
je 0x301ebdde
mov ecx, dword [esi + 8]
mov eax, 0x3029b7f4
push eax
push dword [ebp - 8]
add ecx, 0x1c
push str.________param_count
push eax
lea eax, [ebp - 0x34]
push eax
push str.________returnType
push 0x302d7380
push dword [ebp - 4]
push str.:method_
push edi
push 0x3029c624
call fcn.301d5acf
mov ecx, eax
call fcn.301d5c63
mov ecx, eax
call fcn.301d5acf
mov ecx, eax
call fcn.301d5c63
mov ecx, eax
call fcn.301d5acf
mov ecx, eax
call fcn.301d5acf
mov ecx, eax
call fcn.301d5f28
mov ecx, eax
call fcn.301d5acf
mov ecx, eax
call fcn.301d5acf
mov ecx, eax
call fcn.301d5c63
mov ecx, eax
call fcn.301d5acf
xor edi, edi
inc edi
cmp dword [ebp - 8], edi
jl 0x301ebe52
lea ecx, [ebp - 0x28]
call fcn.301d7e18
lea eax, [ebp - 0x28]
push eax
push ebx
mov ecx, esi
call fcn.301eaf1d
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x108], 0
je 0x301ebe41
mov ecx, dword [esi + 8]
push 0x3029b7f4
lea eax, [ebp - 0x28]
push eax
push 0x302d7544
push edi
push str.____________paramType_
add ecx, 0x1c
call fcn.301d5acf
mov ecx, eax
call fcn.301d5c63
mov ecx, eax
call fcn.301d5acf
mov ecx, eax
call fcn.301d5f28
mov ecx, eax
call fcn.301d5acf
xor eax, eax
inc edi
cmp edi, dword [ebp - 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
jle 0x301ebde6
push ebx
mov ecx, esi
call fcn.301ead2b
mov edi, eax
mov eax, dword [ebx]
cmp eax, dword [esi + 0x3c]
jb 0x301ebe68
cmp eax, dword [esi + 0x40]
jb 0x301ebe74
mov ecx, dword [esi]
push 0x453
call fcn.301c8c81
mov eax, dword [ebx]
movzx ecx, byte [eax]
inc eax
mov dword [ebx], eax
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x108], 0
mov dword [ebp - 0x10], ecx
je 0x301ebf02
mov ecx, dword [esi + 8]
push edi
push str.________name_index
add ecx, 0x1c
call fcn.301d5acf
mov ecx, eax
call fcn.301d5d50
test edi, edi
jbe 0x301ebedc
mov eax, dword [esi + 0x14]
cmp edi, dword [eax + 0xd4]
jae 0x301ebedc
mov eax, dword [eax + 0x38]
mov eax, dword [eax + edi*4]
mov ecx, dword [esi + 8]
push 0x302992bc
push eax
push 0x302d7514
add ecx, 0x1c
call fcn.301d5acf
mov ecx, eax
call fcn.301d5e86
mov ecx, eax
call fcn.301d5acf
mov ecx, dword [esi + 8]
push 0x3029b7f4
push dword [ebp - 0x10]
add ecx, 0x1c
push str._n________flags
call fcn.301d5acf
mov ecx, eax
call fcn.301d5c63
mov ecx, eax
call fcn.301d5acf
test byte [ebp - 0x10], 0x20
jne 0x301ebf98
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
push 0
push eax
push 0x64
call fcn.300180d0
add esp, 0xc
test eax, eax
je 0x301ebf2f
mov ecx, eax
call fcn.301e64c0
mov dword [ebp - 0xc], eax
jmp 0x301ebf33
and dword [ebp - 0xc], 0
test edi, edi
je 0x301ebf65
push edi
mov ecx, esi
call fcn.301eaddb
mov edi, dword [ebp - 0xc]
add edi, 0x38
push eax
mov ecx, edi
call fcn.300d6cf0
mov eax, dword [edi]
test dword [eax + 0x10], 0x7fffffff
jne 0x301ebf93
mov eax, dword [esi + 8]
push dword [eax + 0x15ac]
mov ecx, edi
jmp 0x301ebf8e
push dword [ebp - 4]
mov ecx, dword [esi + 8]
call fcn.301c191f
mov ecx, dword [esi + 8]
push eax
push str.MethodInfo_
call fcn.301c185a
mov ecx, dword [esi + 8]
push eax
call fcn.301c2550
mov ecx, dword [ebp - 0xc]
push eax
add ecx, 0x38
call fcn.300d6cf0
mov edi, dword [ebp - 0xc]
jmp 0x301ebfb7
cmp dword [esi + 0x1c], 0
jne 0x301ebfaa
mov ecx, dword [esi]
push 0x437
call fcn.301c8c81
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 4]
mov edi, dword [eax + ecx*4]
or byte [edi + 0x1f], 8
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x24], eax
push dword [esi + 0x14]
lea ecx, [edi + 0xc]
call fcn.301e173f
mov eax, dword [ebp - 4]
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 8]
mov dword [edi + 0x10], eax
inc eax
push eax
mov ecx, edi
call fcn.301edcd3
mov eax, dword [ebp - 0x10]
or dword [edi + 0x1c], eax
test al, 8
je 0x301ec023
push ebx
mov ecx, esi
call fcn.301ead2b
test eax, eax
mov dword [ebp - 0x18], eax
mov dword [edi + 0x14], eax
jle 0x301ec010
mov dword [ebp - 0xc], eax
push ebx
mov ecx, esi
call fcn.301ead2b
inc dword [ebx]
dec dword [ebp - 0xc]
jne 0x301ebffc
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x301ec017
cmp eax, dword [ebp - 8]
jle 0x301ec023
mov ecx, dword [esi]
push 0x453
call fcn.301c8c81
test byte [ebp - 0x10], 0x80
je 0x301ec046
and dword [ebp - 0x10], 0
cmp dword [edi + 0x10], 0
jle 0x301ec046
push ebx
mov ecx, esi
call fcn.301ead2b
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edi + 0x10]
jl 0x301ec033
mov ecx, dword [esi + 0x14]
push edi
mov edi, dword [ebp - 4]
push edi
add ecx, 0x78
call fcn.301e195d
xor eax, eax
inc edi
cmp edi, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], edi
jl 0x301ebd2d
mov eax, dword [ebx]
mov esi, dword [esi + 8]
sub eax, dword [ebp - 0x14]
pop edi
add dword [esi + 0x878], eax
pop esi
pop ebx
leave
ret