Function at 0x44c330
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44cac1
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov ebx, dword [edx]
mov ebp, dword [ebx]
mov dword [esp + 0x48], ebp
cmp ebp, 0xfffffff1
jne 0x44c909
movzx esi, byte [ebx + 4]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x44c909
movzx esi, byte [ebx + 5]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x44c909
cmp byte [ebx + 6], 1
jne 0x44c909
cmp byte [ebx + 7], 4
jne 0x44c909
mov esi, dword [ebx + 0x10]
cmp dword [edx + 0x58], esi
jne 0x44c909
mov ecx, dword [edx + 0x44]
mov ebx, dword [edx + 0x40]
lea ebp, [ecx - 1]
xor eax, eax
jmp 0x44c3ad
mov edx, dword [esp + 0x78]
mov eax, edi
cmp eax, ebp
jge 0x44c57a
cmp eax, ecx
jae 0x44c904
lea esi, [ebx + eax*8]
mov esi, dword [esi]
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x44c8fd
lea edx, [ebx + eax*8 + 8]
cmp dword [edx], esi
jae 0x44c3a7
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + 0x38]
mov esi, dword [edx + 0x34]
lea edx, [ebx + eax*8 + 4]
mov edx, dword [edx]
cmp edx, ecx
jae 0x44c8f6
add edx, esi
lea ebx, [ebx + eax*8 + 0xc]
mov ebx, dword [ebx]
cmp ebx, ecx
jae 0x44c8ef
mov dword [esp + 0x20], eax
mov dword [esp + 0x44], edi
lea ecx, [ebx + esi]
cmp edi, ebp
jl 0x44c419
mov ecx, 3
lea ebx, [0x4cdef2]
jmp 0x44c43b
mov dword [esp + 0x5c], edx
mov dword [esp], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
call dbg.runtime.funcname
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x5c]
mov ebx, eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x24], ecx
mov dword [esp], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
call dbg.runtime.funcname
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x40]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
cmp esi, ecx
jae 0x44c8e8
mov dword [esp + 0x40], ebp
lea edi, [edx + esi*8]
mov edi, dword [edi]
mov ebp, dword [esp + 0x44]
cmp ecx, ebp
jbe 0x44c8e1
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], ebx
lea ecx, [edx + esi*8 + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + 0xd4]
mov dword [esp + 0x54], edx
mov ebx, dword [eax + 0xd8]
mov dword [esp + 0x44], ebx
call dbg.runtime.printlock
lea eax, [0x4d6c48]
mov dword [esp], eax
mov dword [esp + 4], 0x2f
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dbg.runtime.printhex
call dbg.runtime.printsp
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4cde11]
mov dword [esp], eax
mov dword [esp + 4], 3
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dbg.runtime.printhex
call dbg.runtime.printsp
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4cee20]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call dbg.runtime.printstring
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call dbg.runtime.printstring
call dbg.runtime.printnl
call fcn.00435d30
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
xor edx, edx
jmp 0x44c862
test ecx, ecx
jbe 0x44c7e7
mov dword [esp + 0x10], ebp
mov dword [esp + 0x44], ecx
mov eax, dword [ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.runtime.(*moduledata).textAddr
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x44]
mov ebx, dword [ecx + 0x40]
mov ebp, dword [esp + 0x10]
cmp edx, ebp
jbe 0x44c7de
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x44]
lea eax, [ebx + eax*8 - 8]
mov eax, dword [eax]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.runtime.(*moduledata).textAddr
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x50]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x14]
cmp edx, ebx
jne 0x44c70a
cmp dword [ecx + 0x54], eax
jne 0x44c70a
mov eax, dword [ecx + 0xf0]
mov edx, dword [ecx + 0xf4]
mov dword [esp + 0x44], edx
xor ebx, ebx
jmp 0x44c61e
mov ebp, dword [esp + 0x50]
lea eax, [ebp + 0x14]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + 1]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
cmp ebx, edx
jge 0x44c665
lea edi, [esp + 0x60]
mov esi, eax
call fcn.0045e2ae
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov edi, ebx
mov ebx, dword [ecx]
cmp dword [ecx + 4], ebp
jne 0x44c669
mov dword [esp + 0x40], edi
mov dword [esp + 0x50], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call dbg.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
jne 0x44c608
jmp 0x44c669
add esp, 0x74
ret
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0xe8]
mov dword [esp + 0x58], ecx
mov eax, dword [eax + 0xec]
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x60]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x40], ebx
call dbg.runtime.printlock
lea eax, [0x4d3f8c]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call dbg.runtime.printstring
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4ce055]
mov dword [esp], eax
mov dword [esp + 4], 5
call dbg.runtime.printstring
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call dbg.runtime.printstring
call dbg.runtime.printnl
call fcn.00435d30
lea eax, [0x4cf3f8]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call dbg.runtime.throw
mov eax, dword [ecx + 0x54]
mov dword [esp + 0x34], eax
call dbg.runtime.printlock
lea eax, [0x4ce5af]
mov dword [esp], eax
mov dword [esp + 4], 7
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call dbg.runtime.printhex
lea eax, [0x4ce225]
mov dword [esp], eax
mov dword [esp + 4], 6
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dbg.runtime.printhex
lea eax, [0x4ce5ff]
mov dword [esp], eax
mov dword [esp + 4], 8
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dbg.runtime.printhex
lea eax, [0x4ce21f]
mov dword [esp], eax
mov dword [esp + 4], 6
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call dbg.runtime.printhex
call dbg.runtime.printnl
call fcn.00435d30
lea eax, [0x4d1dfd]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call dbg.runtime.throw
mov eax, ebp
mov ecx, edx
call dbg.runtime.panicIndex
xor eax, eax
mov ecx, eax
call dbg.runtime.panicIndex
mov dword [esp + 0x44], ebp
mov dword [esp + 0x58], ebx
lea eax, [edx + esi*8]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
call dbg.runtime.printlock
lea eax, [0x4cdde8]
mov dword [esp], eax
mov dword [esp + 4], 2
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dbg.runtime.printhex
call dbg.runtime.printsp
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call dbg.runtime.printstring
call dbg.runtime.printnl
call fcn.00435d30
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
cmp edx, eax
jg 0x44c8cb
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x34]
mov esi, dword [ecx + 0x44]
mov edi, dword [ecx + 0x40]
cmp edx, esi
jae 0x44c8c2
lea esi, [edi + edx*8 + 4]
mov esi, dword [esi]
cmp ebx, esi
jbe 0x44c8b9
mov dword [esp + 0x1c], edx
lea eax, [ebp + esi]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dbg.runtime.funcname
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x40]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
cmp esi, ecx
jb 0x44c7f0
mov eax, esi
call dbg.runtime.panicIndex
mov eax, esi
mov ecx, ebx
call dbg.runtime.panicIndexU
mov eax, edx
mov ecx, esi
call dbg.runtime.panicIndex
lea eax, [0x4d3887]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
call dbg.runtime.throw
mov eax, ebp
call dbg.runtime.panicIndex
mov eax, esi
call dbg.runtime.panicIndex
mov eax, ebx
call dbg.runtime.panicIndexU
mov eax, edx
call dbg.runtime.panicIndexU
mov eax, edi
call dbg.runtime.panicIndex
call dbg.runtime.panicIndex
movzx eax, byte [ebx + 4]
mov dword [esp + 0x3c], eax
movzx ecx, byte [ebx + 5]
mov dword [esp + 0x30], ecx
movzx ebp, byte [ebx + 6]
mov dword [esp + 0x2c], ebp
movzx esi, byte [ebx + 7]
mov dword [esp + 0x28], esi
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0x38], ebx
mov edi, dword [edx + 0x58]
mov dword [esp + 0x34], edi
mov edi, dword [edx + 0xd4]
mov dword [esp + 0x58], edi
mov edx, dword [edx + 0xd8]
mov dword [esp + 0x44], edx
call dbg.runtime.printlock
lea eax, [0x4d3182]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dbg.runtime.printhex
lea eax, [0x4ce3f6]
mov dword [esp], eax
mov dword [esp + 4], 7
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dbg.runtime.printuint
lea eax, [0x4ce3fd]
mov dword [esp], eax
mov dword [esp + 4], 7
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call dbg.runtime.printuint
lea eax, [0x4ce60f]
mov dword [esp], eax
mov dword [esp + 4], 8
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dbg.runtime.printuint
lea eax, [0x4ceb44]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call dbg.runtime.printuint
lea eax, [0x4d15f6]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call dbg.runtime.printhex
lea eax, [0x4ce40b]
mov dword [esp], eax
mov dword [esp + 4], 7
call dbg.runtime.printstring
mov dword [esp + 4], 0
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dbg.runtime.printhex
lea eax, [0x4cf610]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call dbg.runtime.printstring
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call dbg.runtime.printstring
call dbg.runtime.printnl
call fcn.00435d30
lea eax, [0x4d3b4f]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call dbg.runtime.throw
nop
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.moduledataverify1