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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x4a885e
sub esp, 0xc4
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0044f086
mov ecx, dword [esp + 0xc8]
movzx edx, byte [ecx + 0xf]
and edx, 0x1f
cmp edx, 0x14
jne 0x4a81ee
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call dbg.reflect.(*interfaceType).Method
lea esi, [esp + 8]
lea edi, [esp + 0x9c]
call fcn.0044f53c
lea edi, [esp + 0xd0]
lea esi, [esp + 0x9c]
call fcn.0044f53c
add esp, 0xc4
ret
mov dword [esp], ecx
call dbg.reflect.(*rtype).exportedMethods
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xcc]
test edx, edx
jl 0x4a8817
cmp edx, ecx
jge 0x4a8817
shl edx, 4
mov ebx, dword [eax + edx + 0xc]
mov dword [esp + 0x34], ebx
mov ebp, dword [eax + edx + 4]
mov dword [esp + 0x38], ebp
mov eax, dword [eax + edx]
mov edx, dword [esp + 0xc8]
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.reflect.(*rtype).nameOff
mov eax, dword [esp + 8]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
test eax, eax
je 0x4a827a
lea ecx, [eax + 3]
mov dword [esp + 0x8c], ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
call dbg.reflect.(*rtype).typeOff
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
movzx ecx, byte [eax + 0xc]
test cl, 1
je 0x4a880d
mov ecx, 0x34
mov edx, eax
add ecx, edx
test byte [ecx], al
movzx ecx, word [eax + 0x20]
cmp ecx, 0x100000
ja 0x4a8806
lea edx, [0x972400]
mov dword [esp], edx
mov dword [esp + 4], 0
inc ecx
mov dword [esp + 8], ecx
call dbg.runtime.makeslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0xc]
lea ebx, [ecx + 1]
cmp ebx, eax
jg 0x4a87ce
mov dword [esp + 0x70], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], eax
mov ebp, ecx
shl ecx, 3
lea esi, [0xc53420]
mov dword [edx + ecx], esi
lea ebp, [edx + ebp*8 + 4]
mov edi, dword [0xc93940]
test edi, edi
jne 0x4a879d
mov ebp, dword [esp + 0xc8]
mov dword [edx + ecx + 4], ebp
mov ecx, dword [esp + 0x88]
movzx edi, byte [ecx + 0xc]
xchg edi, eax
test al, 1
xchg edi, eax
je 0x4a8793
mov edi, 0x34
mov ebp, ecx
add ebp, edi
test byte [ebp], al
movzx edi, word [ecx + 0x20]
mov dword [esp + 0x54], edi
cmp edi, 0x100000
ja 0x4a878c
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x80], edx
mov ecx, dword [esp + 0x50]
cmp ecx, edi
jge 0x4a848d
mov edi, dword [ebp]
mov dword [esp + 0x74], edi
lea ecx, [ebx + 1]
cmp ecx, eax
jg 0x4a843e
mov dword [esp + 0x70], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
shl ebx, 3
mov dword [edx + ebx], esi
mov esi, dword [esp + 0x44]
lea esi, [edx + esi*8 + 4]
mov dword [esp + 0x80], esi
mov esi, dword [0xc93940]
test esi, esi
jne 0x4a8416
mov dword [edx + ebx + 4], edi
add ebp, 4
mov ebx, dword [esp + 0x50]
inc ebx
mov ecx, dword [esp + 0x88]
lea esi, [0xc53420]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x4c]
jmp 0x4a8391
mov ebx, dword [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 4], edi
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
jmp 0x4a83f0
lea ebp, [0x972400]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call dbg.runtime.growslice
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x84]
lea esi, [0xc53420]
mov edi, dword [esp + 0x74]
mov ebx, ecx
mov ecx, eax
mov eax, ebx
mov ebx, dword [esp + 0x44]
jmp 0x4a83c1
mov ecx, dword [esp + 0x88]
movzx ebp, byte [ecx + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x4a8782
mov ebp, 0x34
mov edi, ecx
add ebp, edi
test byte [ebp], al
movzx ebp, word [ecx + 0x22]
movzx edi, word [ecx + 0x20]
and ebp, 0x7fff
add ebp, edi
movzx edi, di
movzx ebp, bp
cmp edi, ebp
ja 0x4a877b
cmp ebp, 0x100000
ja 0x4a877b
lea eax, [0x972400]
mov dword [esp], eax
mov dword [esp + 4], 0
sub ebp, edi
mov dword [esp + 8], ebp
call dbg.runtime.makeslice
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x88]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x4a8771
mov ebp, 0x34
mov esi, ebx
add ebp, esi
test byte [ebp], al
movzx esi, word [ebx + 0x22]
movzx edi, word [ebx + 0x20]
and esi, 0x7fff
add esi, edi
movzx edi, di
movzx esi, si
cmp edi, esi
ja 0x4a876a
cmp esi, 0x100000
ja 0x4a876a
sub esi, edi
mov dword [esp + 0x30], esi
lea ebx, [edi - 0x100000]
neg ebx
dec ebx
sar ebx, 0x1f
shl edi, 2
xor ebx, 0xffffffff
and edi, ebx
lea ebx, [ebp + edi]
xor ebp, ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
cmp ebp, esi
jge 0x4a8647
mov edi, dword [ebx]
mov dword [esp + 0x60], edi
lea esi, [eax + 1]
cmp esi, edx
jg 0x4a8602
mov dword [esp + 0x64], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x40], edx
shl eax, 3
lea edx, [0xc53420]
mov dword [ecx + eax], edx
mov edx, dword [esp + 0x3c]
lea edx, [ecx + edx*8 + 4]
mov dword [esp + 0x7c], edx
mov edx, dword [0xc93940]
test edx, edx
jne 0x4a85dd
mov dword [ecx + eax + 4], edi
add ebx, 4
inc ebp
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
jmp 0x4a856d
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], edi
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
jmp 0x4a85cb
lea ebp, [0x972400]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call dbg.runtime.growslice
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x60]
jmp 0x4a8599
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
call dbg.reflect.(*rtype).IsVariadic
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
mov byte [esp + 0x18], al
call dbg.reflect.FuncOf
mov eax, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
lea edx, [0x8e9520]
mov dword [esp], edx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0xc8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call dbg.reflect.(*rtype).textOff
mov eax, dword [0xc93940]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x4a8754
mov eax, dword [esp + 0x78]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x4a8700
mov ecx, dword [ecx + 4]
lea edx, [0x980160]
cmp edx, ecx
jne 0x4a873c
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], 0x13
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xf4], eax
add esp, 0xc4
ret
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x972400]
mov dword [esp + 8], eax
call dbg.runtime.panicdottype
ud2
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x78]
jmp 0x4a86f5
call dbg.runtime.panicslice
ud2
mov ebp, 0x24
jmp 0x4a851c
call dbg.runtime.panicslice
ud2
mov ebp, 0x24
jmp 0x4a84a8
call dbg.runtime.panicslice
ud2
mov edi, 0x24
jmp 0x4a8368
mov dword [esp], ebp
mov ecx, dword [esp + 0xc8]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xc8]
lea esi, [0xc53420]
jmp 0x4a834d
lea ebp, [0x972400]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call dbg.runtime.growslice
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4a8316
call dbg.runtime.panicslice
ud2
mov ecx, 0x24
jmp 0x4a82ca
lea eax, [0x99e816]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0x22
lea eax, [0x8e91e0]
mov dword [esp], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call dbg.runtime.convT2E
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dbg.runtime.gopanic
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.reflect.(*rtype).Method