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

Disassembly:
mov ecx, dword [0x7a1414]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4ed36d
sub esp, 0x74
mov ecx, dword [esp + 0x7c]
mov byte [ecx + 0x10], 0
mov byte [ecx + 0x3c], 0
lea edi, [esp + 0x2c]
xor eax, eax
call fcn.00468271
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x7c]
movzx ebp, word [ebx + 0x74]
lea esi, [ebp - 1]
cmp si, 2
jbe 0x4ecdd8
cmp bp, 6
jne 0x4ecdf7
cmp byte [ebx + 0x3a], 3
jne 0x4ecdf7
movzx eax, byte [ebx + 0x3b]
cmp al, 1
je 0x4ecdec
cmp al, 2
jne 0x4ecdf7
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x4ecdf7
mov byte [ebx + 0x3a], 1
cmp word [ebx + 0x74], 0x1094
jne 0x4ed055
mov eax, dword [ebx + 0x40]
mov ebp, eax
and eax, 0xffff0fff
cmp eax, 0xee1d0f70
sete al
and eax, 1
test al, al
je 0x4ed04f
test ebp, 0xf000
je 0x4ecee2
mov dword [esp], ebx
call sym.cmd_internal_obj._Prog_.Line
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], ecx
lea edx, [0x5c6b80]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov edx, dword [esp + 0x6c]
mov dword [edx], ecx
mov ecx, dword [0x7a14d8]
test ecx, ecx
je 0x4ece95
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 4]
mov dword [edi + 4], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x78]
inc dword [eax + 0x90]
mov ecx, dword [eax + 0x80]
mov ebx, dword [ecx]
lea ebp, [0x600464]
mov dword [esp], ebp
mov dword [esp + 4], 0x59
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
mov edx, ecx
call ebx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
cmp dword [0x7a1418], 7
jge 0x4ed04f
mov eax, dword [0x759604]
test eax, eax
jne 0x4ecf4a
mov dword [esp], ecx
lea eax, [0x5f55e1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x19
mov dword [esp + 0xc], 0
call sym.cmd_internal_obj._Link_.LookupInit
mov eax, dword [0x7a14d8]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4ecf39
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [0x759604]
mov dword [edi + 4], eax
mov dword [0x759604], ecx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov word [ebx + 0x74], 0x1069
mov byte [ebx + 0xe], 7
mov word [ebx + 8], 0xc0e
mov byte [ebx + 0x3a], 7
mov word [ebx + 0x34], 0xc0b
mov eax, dword [edx]
nop
call eax
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x4ecf95
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x68]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 1
mov byte [eax + 0x3a], 1
mov ecx, dword [0x7a14d8]
mov ebx, dword [0x759604]
test ecx, ecx
je 0x4ecfce
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ecx, dword [eax + 0x48]
mov dword [edi + 4], ecx
mov dword [esp + 0x28], eax
mov dword [eax + 0x48], ebx
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov edx, dword [esp + 0x80]
mov ecx, dword [edx]
nop
call ecx
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x7a14d8]
mov ebx, dword [esp + 0x28]
mov ebp, dword [ebx + 4]
test ecx, ecx
je 0x4ed01b
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov dword [eax + 4], ebp
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x68]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], ecx
mov word [eax + 0x74], 0x1069
mov byte [eax + 0xe], 7
mov word [eax + 8], 0xc0b
mov byte [eax + 0x3a], 7
mov word [eax + 0x34], 0xc0e
mov ecx, dword [esp + 0x78]
mov ebx, eax
jmp 0x4ed055
mov word [ebx + 0x74], 0x1073
mov dword [esp + 0x68], ebx
movzx eax, word [ebx + 0x74]
cmp ax, 0x1033
jne 0x4ed19d
cmp byte [ebx + 0xe], 5
jne 0x4ed0aa
mov eax, dword [ebx + 0x20]
lea edx, [0x5c9540]
cmp eax, edx
jne 0x4ed356
mov eax, dword [ebx + 0x24]
movsd xmm0, qword [eax]
lea eax, [esp + 0x2c]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call sym.cmd_internal_obj_arm._ctxt5_.chipfloat5
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x68]
jmp 0x4ed0ac
xor eax, eax
test al, al
je 0x4ed120
mov eax, dword [ebx + 0x20]
lea edx, [0x5c9540]
cmp eax, edx
jne 0x4ed340
cmp dword [0x7a1418], 7
jl 0x4ed100
movzx eax, byte [0x7a141c]
test al, al
jne 0x4ed100
mov eax, dword [ebx + 0x24]
movsd xmm0, qword [eax]
movsd qword [esp + 0x1c], xmm0
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
test eax, eax
setne al
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ed107
mov eax, 0xffffffff
jmp 0x4ed109
xor eax, eax
test eax, eax
jge 0x4ed114
mov eax, 1
jmp 0x4ed128
movzx eax, byte [ebx + 0x7e]
test al, 0xf
setne al
jmp 0x4ed128
lea edx, [0x5c9540]
xor eax, eax
test al, al
je 0x4ed2cc
mov eax, dword [ebx + 0x20]
cmp eax, edx
jne 0x4ed32a
mov eax, dword [ebx + 0x24]
movsd xmm0, qword [eax]
mov byte [ebx + 0xe], 3
mov dword [esp], ecx
cvtsd2ss xmm0, xmm0
movss dword [esp + 4], xmm0
call sym.cmd_internal_obj._Link_.Float32Sym
mov eax, dword [0x7a14d8]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x4ed16c
mov eax, dword [esp + 0x68]
jmp 0x4ed17d
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0x1c]
mov dword [edi + 4], edx
mov dword [eax + 0x1c], ecx
mov byte [eax + 0xf], 1
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov ecx, dword [esp + 0x78]
mov ebx, eax
jmp 0x4ed2cc
cmp ax, 0x1034
jne 0x4ed2cc
cmp byte [ebx + 0xe], 5
jne 0x4ed1ea
mov eax, dword [ebx + 0x20]
lea edx, [0x5c9540]
cmp eax, edx
jne 0x4ed314
mov eax, dword [ebx + 0x24]
movsd xmm0, qword [eax]
lea eax, [esp + 0x2c]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call sym.cmd_internal_obj_arm._ctxt5_.chipfloat5
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x68]
jmp 0x4ed1ec
xor eax, eax
test al, al
je 0x4ed260
mov eax, dword [ebx + 0x20]
lea edx, [0x5c9540]
cmp eax, edx
jne 0x4ed2fe
cmp dword [0x7a1418], 7
jl 0x4ed240
movzx eax, byte [0x7a141c]
test al, al
jne 0x4ed240
mov eax, dword [ebx + 0x24]
movsd xmm0, qword [eax]
movsd qword [esp + 0x14], xmm0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test eax, eax
setne al
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ed247
mov eax, 0xffffffff
jmp 0x4ed249
xor eax, eax
test eax, eax
jge 0x4ed254
mov eax, 1
jmp 0x4ed268
movzx eax, byte [ebx + 0x7e]
test al, 0xf
setne al
jmp 0x4ed268
lea edx, [0x5c9540]
xor eax, eax
test al, al
je 0x4ed2cc
mov byte [ebx + 0xe], 3
mov eax, dword [ebx + 0x20]
cmp eax, edx
jne 0x4ed2e8
mov eax, dword [ebx + 0x24]
movsd xmm0, qword [eax]
mov dword [esp], ecx
movsd qword [esp + 4], xmm0
call sym.cmd_internal_obj._Link_.Float64Sym
mov eax, dword [0x7a14d8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x4ed2a0
mov eax, dword [esp + 0x68]
jmp 0x4ed2b1
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0x1c]
mov dword [edi + 4], edx
mov dword [eax + 0x1c], ecx
mov byte [eax + 0xf], 1
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov ecx, dword [esp + 0x78]
mov ebx, eax
movzx eax, byte [ecx + 0x19]
test al, al
je 0x4ed2e4
lea eax, [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym.cmd_internal_obj_arm._ctxt5_.rewriteToUseGot
add esp, 0x74
ret
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x5c9ec0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_obj_arm.progedit