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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14c]
cmp eax, dword [ecx + 8]
jbe 0x442f33
sub esp, 0x1cc
mov eax, 0
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x1e0]
test eax, eax
jle 0x442cdc
mov ecx, dword [esp + 0x1ec]
test ecx, ecx
jne 0x442f1b
mov edx, dword [0x583ca8]
test edx, edx
je 0x442f03
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov dword [esp + 0x160], edx
mov ebx, dword [esp + 0x1dc]
cmp edx, ebx
jne 0x4417af
mov ebp, dword [edx + 0x18]
mov ebp, dword [ebp + 0x4c]
cmp edx, ebp
je 0x442eeb
call dbg.runtime.gotraceback
mov eax, dword [esp]
mov ecx, dword [esp + 0x1d0]
cmp ecx, 0xffffffff
jne 0x442cc2
mov edx, dword [esp + 0x1d4]
cmp edx, 0xffffffff
jne 0x442caf
mov ecx, dword [esp + 0x1dc]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x442ca4
mov ebx, dword [ecx + 0x3c]
mov dword [esp + 0x4c], eax
lea edi, [esp + 0x1a0]
mov ebp, eax
xor eax, eax
call fcn.0044b785
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1b4], edx
mov ecx, dword [esp + 0x1dc]
mov ebx, dword [ecx + 0xbc]
mov esi, dword [ecx + 0xb8]
mov edi, ebp
mov ebp, dword [esp + 0x1e4]
test ebp, ebp
je 0x442c7b
xor eax, eax
mov byte [esp + 0x21], al
xor eax, eax
mov edi, dword [ecx + 0x14]
jmp 0x441849
mov edi, dword [edi + 0x18]
mov ebp, dword [esp + 0x1e4]
test edi, edi
je 0x441855
mov ebp, dword [edi + 8]
cmp ebp, 0xffffffff
je 0x44183f
mov dword [esp + 0x17c], edi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x178], esi
mov ebp, dword [esp + 0x1a8]
test ebp, ebp
jne 0x44188c
mov edx, dword [edx]
mov dword [esp + 0x1a8], edx
mov edx, dword [esp + 0x1b4]
add edx, 4
mov dword [esp + 0x1b4], edx
mov eax, dword [esp + 0x1a8]
mov dword [esp], eax
call dbg.runtime.findfunc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x442bcb
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
lea edi, [esp + 0x94]
xor eax, eax
call fcn.0044b760
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x178]
mov esi, dword [esp + 0x1e0]
xor edi, edi
jmp 0x441a38
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4427a7
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x1b4]
cmp esi, ecx
je 0x4418e6
cmp ecx, 0xffffffff
je 0x4418e6
test ebp, ebp
mov dword [esp + 0x17c], eax
jne 0x442746
mov ecx, dword [esp + 0x1e4]
test ecx, ecx
je 0x442736
mov esi, dword [esp + 0x1e0]
test esi, esi
jne 0x44255e
mov eax, dword [esp + 0x1a8]
mov ebp, dword [esp + 0x40]
cmp ebp, 0x100000
jae 0x442eb4
mov dword [ecx + ebp*4], eax
test bl, bl
jne 0x441e00
lea eax, [ebp + 1]
mov dword [esp + 0x88], edi
mov ebp, dword [esp + 0x190]
mov ebx, dword [ebp]
mov ecx, dword [0x583c60]
cmp ecx, ebx
jne 0x441dfa
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jle 0x441de3
lea ebx, [ecx - 1]
cmp ebx, ecx
jae 0x442e91
mov edi, dword [esp + 0x18c]
mov ecx, dword [edi + ecx*4 - 4]
test esi, esi
jne 0x441dd7
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x1ec]
test ecx, ecx
je 0x441d71
mov dword [esp + 0x84], eax
mov ebp, dword [ebp]
mov ecx, dword [0x583d00]
mov eax, dword [esp + 0x174]
test eax, eax
je 0x441b6d
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1b0], 0
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1c8], 0
cmp ecx, ebp
sete cl
mov eax, dword [esp + 0x84]
mov ebp, edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x1e0], esi
mov esi, dword [esp + 0x1e8]
cmp eax, esi
jge 0x442bbb
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x1a0]
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x194], eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x442ba9
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], dl
mov dword [esp + 0x190], esi
mov byte [esp + 0x1f], cl
mov eax, dword [esp + 0x1b8]
test eax, eax
je 0x442a96
mov dword [esp + 0x18c], ebp
mov eax, dword [esp + 0x1dc]
mov ebp, dword [eax + 0x18]
test ebp, ebp
je 0x442a8f
mov ebp, dword [ebp]
cmp ebp, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov dword [esp + 0x5c], ebx
mov ebx, dword [esi]
mov eax, dword [0x583ca8]
cmp eax, ebx
jne 0x442a01
mov eax, 1
test al, al
je 0x44283e
mov dword [esp + 0x1b0], 0
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ebx
mov ebp, dword [esp + 0x1b8]
add ebp, 0xfffffffc
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0x1ec]
test ebp, ebp
setne al
jne 0x4427ca
movzx ebx, byte [esp + 0x21]
test bl, bl
jne 0x4427ca
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1ac], eax
test cl, cl
je 0x4427be
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x4427ae
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x1b4]
cmp esi, ecx
jne 0x4427ae
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1ac], ecx
jmp 0x4418e9
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x84]
movzx ebx, byte [esp + 0x21]
test bl, bl
je 0x441d6a
mov edx, dword [esp + 0x1ec]
test edx, edx
je 0x441d61
mov ebx, dword [esp + 0x1e8]
cmp eax, ebx
jge 0x441d5d
test ecx, ecx
je 0x441d2e
mov eax, dword [esp + 0x1dc]
mov edx, dword [eax + 0x54]
mov dword [esp + 0x80], edx
mov ebx, dword [eax + 0x50]
mov dword [esp + 0x7c], ebx
mov ebp, dword [ecx + 8]
mov dword [esp + 0x78], ebp
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x74], ecx
call dbg.runtime.printlock
lea eax, [0x4ead3e]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call dbg.runtime.printstring
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call dbg.runtime.printint
lea eax, [0x4eccf2]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call dbg.runtime.printstring
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
lea eax, [0x4e9f5c]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printnl
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1dc]
mov eax, dword [eax + 0x14]
jmp 0x441d21
mov dword [esp + 0x17c], eax
mov ecx, dword [eax + 8]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x74], edx
call dbg.runtime.printlock
lea eax, [0x4ea587]
mov dword [esp], eax
mov dword [esp + 4], 7
call dbg.runtime.printstring
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
call dbg.runtime.printpointer
lea eax, [0x4e9f64]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
lea eax, [0x4e9f5c]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printnl
call dbg.runtime.printunlock
mov eax, dword [esp + 0x17c]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x441c7a
jmp 0x442e79
test edx, edx
je 0x441d4f
cmp eax, ebx
jge 0x441d4f
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1dc]
mov ebp, dword [edx + 0x40]
cmp ecx, ebp
jne 0x442ce8
mov dword [esp + 0x1f8], eax
add esp, 0x1cc
ret
test edx, edx
jmp 0x441d30
mov ebx, dword [esp + 0x1e8]
jmp 0x441d30
mov eax, edx
jmp 0x441b8f
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], esi
mov byte [esp + 0x23], dl
mov ecx, dword [esp + 0x1e4]
mov dword [esp], ecx
movzx edx, byte [esp + 0x21]
mov byte [esp + 4], dl
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], eax
call dbg.runtime.tracebackCgoContext
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1ec]
movzx edx, byte [esp + 0x23]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x190]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x18c]
jmp 0x4419b2
mov ecx, dword [esp + 0x1ec]
jmp 0x4419b2
mov ecx, dword [esp + 0x1ec]
mov edi, dword [esp + 0x18c]
mov ebx, dword [esp + 0x5c]
jmp 0x4419b2
mov ecx, dword [esp + 0x5c]
jmp 0x441de3
mov dword [esp + 0x68], esi
mov dword [esp + 0x88], ebp
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov ecx, dword [esp + 0x194]
mov dword [esp + 4], ecx
call dbg.runtime.funcname
mov eax, dword [esp + 8]
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x38], ecx
cmp ecx, 0xf
je 0x442533
xor edx, edx
test dl, dl
je 0x4424fc
mov edx, 1
test dl, dl
je 0x4424c5
mov edx, 1
mov byte [esp + 0x22], dl
mov ebx, dword [esp + 0x1f4]
test ebx, 1
je 0x44244f
mov ebp, dword [esp + 0x1a8]
mov esi, dword [esp + 0x88]
test esi, esi
jle 0x442437
mov edi, dword [esp + 0x190]
mov ebx, dword [edi]
cmp ebp, ebx
jbe 0x441ea4
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x442431
mov dword [esp + 0x24], ebp
mov dword [esp], edi
mov eax, dword [esp + 0x194]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call dbg.runtime.funcline
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x16c], edx
mov ebx, dword [esp + 0x190]
mov dword [esp], ebx
mov ebp, dword [esp + 0x194]
mov dword [esp + 4], ebp
mov dword [esp + 8], 2
call dbg.runtime.funcdata
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x442279
mov eax, dword [esp + 0x38]
cmp eax, 0xf
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x16c], edx
mov dword [esp + 0x48], ebx
je 0x442233
mov ebp, dword [esp + 0x158]
mov dword [esp + 0x34], eax
mov dword [esp + 0x15c], ebp
call dbg.runtime.printlock
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4e9d56]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x188], eax
xor ecx, ecx
jmp 0x441fc3
test byte [eax], al
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x78], edx
call dbg.runtime.printlock
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printunlock
mov eax, dword [esp + 0x50]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x188]
mov edx, dword [esp + 0x1c4]
shr edx, 2
cmp ecx, edx
jae 0x44202b
cmp ecx, 0xa
jae 0x44200b
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x441f8e
call dbg.runtime.printlock
lea eax, [0x4e9d8b]
mov dword [esp], eax
mov dword [esp + 4], 2
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x50]
jmp 0x441f8e
call dbg.runtime.printlock
lea eax, [0x4ea13e]
mov dword [esp], eax
mov dword [esp + 4], 5
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x4e9d89]
mov dword [esp], eax
mov dword [esp + 4], 2
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x4e9d6f]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4e9d60]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
mov eax, dword [esp + 0x48]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call dbg.runtime.printint
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x190]
mov edx, dword [ecx]
cmp eax, edx
ja 0x4421e5
mov eax, dword [esp + 0x160]
mov edx, dword [eax + 0x18]
mov ebx, dword [edx + 0x68]
test ebx, ebx
jle 0x4421dc
mov edx, dword [edx + 0x4c]
mov ebx, dword [esp + 0x1dc]
cmp edx, ebx
jne 0x4421cd
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x64], edx
call dbg.runtime.printlock
lea eax, [0x4e9f48]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
lea eax, [0x4e9f64]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
lea eax, [0x4e9f5c]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printunlock
call dbg.runtime.printlock
call dbg.runtime.printnl
call dbg.runtime.printunlock
mov eax, dword [esp + 0x30]
inc eax
movzx edx, byte [esp + 0x22]
xor edx, 1
mov ecx, dword [esp + 0x1e4]
movzx ebx, byte [esp + 0x21]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x68]
mov edi, eax
jmp 0x441953
mov edx, dword [esp + 0x4c]
cmp edx, 2
jge 0x4420ea
jmp 0x442193
mov ebx, dword [esp + 0x1dc]
jmp 0x4421cd
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], edx
call dbg.runtime.printlock
lea eax, [0x4e9d7b]
mov dword [esp], eax
mov dword [esp + 4], 2
call dbg.runtime.printstring
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
sub eax, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printunlock
mov ecx, dword [esp + 0x190]
jmp 0x4420c3
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
lea edx, [0x4ebca8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call dbg.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x442269
mov eax, 5
lea ebp, [0x4ea229]
jmp 0x441f3a
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x158]
jmp 0x441f3a
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov ecx, dword [esp + 0x194]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
call dbg.runtime.pcdatavalue
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x48]
jmp 0x442410
mov dword [esp + 0x60], ecx
mov dword [esp + 0x184], edx
mov dword [esp + 0x80], ebx
shl eax, 4
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x188]
mov edx, dword [ecx + eax + 0xc]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x190]
mov dword [esp], edx
mov ebx, dword [esp + 0x194]
mov dword [esp + 4], ebx
call dbg.runtime.funcnameFromNameoff
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x154], ecx
call dbg.runtime.printlock
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4ea29a]
mov dword [esp], eax
mov dword [esp + 4], 6
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x4e9d6f]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4e9d60]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
mov eax, dword [esp + 0x80]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call dbg.runtime.printint
call dbg.runtime.printnl
call dbg.runtime.printunlock
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x188]
mov edx, dword [ecx + eax + 4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x190]
mov dword [esp], edx
mov ebx, dword [esp + 0x194]
mov dword [esp + 4], ebx
call dbg.runtime.funcfile
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x188]
mov ebp, dword [ebx + eax + 8]
mov eax, dword [eax + ebx]
mov ebx, ebp
cmp eax, 0xffffffff
je 0x442425
cmp eax, 0x100000
jb 0x4422ca
jmp 0x442e98
mov eax, dword [esp + 0x38]
cmp eax, 0xf
jmp 0x441f1e
dec ebp
jmp 0x441ea4
test ebx, 2
je 0x441e8a
mov edi, dword [esp + 0x190]
jmp 0x441ea4
mov ebp, dword [esp + 0x190]
mov dword [esp], ebp
mov esi, dword [esp + 0x194]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x1dc]
mov dword [esp + 8], edi
mov eax, dword [esp + 0x30]
test eax, eax
sete cl
mov byte [esp + 0xc], cl
movzx ecx, byte [esp + 0x20]
test cl, cl
je 0x4424c1
test eax, eax
setne cl
mov byte [esp + 0xd], cl
call dbg.runtime.showframe
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4424a5
mov eax, dword [esp + 0x30]
jmp 0x4421a7
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x38]
movzx edx, byte [esp + 0x22]
mov ebx, dword [esp + 0x1f4]
jmp 0x441e74
xor ecx, ecx
jmp 0x44248a
cmp ecx, 0x11
je 0x4424d1
xor edx, edx
jmp 0x441e5d
mov dword [esp], eax
lea edx, [0x4ec359]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.runtime.memequal
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x38]
jmp 0x441e5d
cmp ecx, 0x10
je 0x442508
xor edx, edx
jmp 0x441e50
mov dword [esp], eax
lea edx, [0x4ec043]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.runtime.memequal
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x38]
jmp 0x441e50
mov dword [esp], eax
lea edx, [0x4ebca8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.runtime.memequal
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x38]
jmp 0x441e43
mov ebx, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x40]
test ecx, ecx
jle 0x44270b
mov eax, dword [esp + 0x190]
mov ebp, dword [eax]
cmp ebx, ebp
jbe 0x442701
movzx ebp, byte [esp + 0x1f]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4426fb
mov dword [esp + 0x28], ebx
mov dword [esp], eax
mov ecx, dword [esp + 0x194]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call dbg.runtime.funcdata
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4425e0
mov ebp, dword [esp + 0x1e0]
lea esi, [ebp - 1]
mov ecx, dword [esp + 0x1e4]
movzx ebx, byte [esp + 0x21]
movzx edx, byte [esp + 0x20]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
jmp 0x441956
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov ecx, dword [esp + 0x194]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov edx, dword [esp + 0x28]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x94]
mov dword [esp + 0x10], edx
call dbg.runtime.pcdatavalue
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x1e0]
xor ebx, ebx
jmp 0x44263a
dec edx
inc ebx
shl eax, 4
mov eax, dword [eax + ecx]
test eax, eax
jl 0x44264e
test edx, edx
jle 0x44264e
cmp eax, 0x100000
jb 0x442632
jmp 0x442ead
test edx, edx
jle 0x442673
lea esi, [edx - 1]
mov ecx, dword [esp + 0x1e4]
movzx ebx, byte [esp + 0x21]
movzx edx, byte [esp + 0x20]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
jmp 0x441956
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x40]
cmp ecx, 0x100000
jae 0x442ea6
mov ebp, dword [esp + 0x1e4]
mov dword [ebp + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x1e8]
cmp eax, esi
jge 0x4426f7
lea edi, [0x4c7920]
mov dword [esp + 0x198], edi
lea edi, [0x4f30d4]
mov dword [esp + 0x19c], edi
lea edi, [esp + 0x198]
add edi, 4
mov esi, dword [edi]
test byte [edi], al
mov esi, dword [esi]
add ebx, esi
cmp eax, 0x100000
jae 0x442e9f
mov dword [ebp + ecx*4 + 4], ebx
mov ecx, ebp
movzx ebx, byte [esp + 0x21]
mov edi, dword [esp + 0x30]
mov ebp, eax
mov esi, edx
movzx edx, byte [esp + 0x20]
jmp 0x44194b
mov eax, ecx
jmp 0x4426de
dec ebx
jmp 0x442591
movzx ebp, byte [esp + 0x1f]
jmp 0x442591
mov eax, dword [esp + 0x1f4]
test eax, 2
jne 0x442725
mov eax, dword [esp + 0x17c]
jmp 0x442571
mov eax, dword [esp + 0x190]
movzx ebp, byte [esp + 0x1f]
jmp 0x442591
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x1e0]
jmp 0x44194b
lea eax, [esp + 0x1a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x1f0]
mov dword [esp + 4], ecx
mov ebx, dword [ebp]
mov edx, ebp
call ebx
movzx eax, byte [esp + 8]
test al, al
je 0x442795
mov ecx, dword [esp + 0x1e4]
test ecx, ecx
mov eax, dword [esp + 0x17c]
movzx edx, byte [esp + 0x20]
movzx ebx, byte [esp + 0x21]
mov ebp, dword [esp + 0x1ec]
mov edi, dword [esp + 0x30]
jmp 0x44191c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1f8], eax
add esp, 0x1cc
ret
test ebp, ebp
jmp 0x441906
mov dword [esp + 0x1ac], 0
jmp 0x4418e9
mov eax, dword [esp + 0x17c]
jmp 0x4418e9
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x1c0], ecx
lea ecx, [esp + 0x1a0]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov edx, dword [esp + 0x194]
mov dword [esp + 8], edx
mov byte [esp + 0xc], al
mov dword [esp + 0x10], 0
call dbg.runtime.getArgInfo
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
movzx ecx, byte [esp + 0x1f]
movzx edx, byte [esp + 0x20]
movzx ebx, byte [esp + 0x21]
mov ebp, dword [esp + 0x1ec]
mov esi, dword [esp + 0x190]
mov edi, dword [esp + 0x30]
jmp 0x441b27
mov eax, dword [esp + 0x1b0]
test eax, eax
jne 0x4429fa
mov eax, dword [esp + 0x1b8]
add eax, 0xfffffffc
mov ebx, eax
mov eax, dword [eax]
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x1b0]
mov dword [esp], eax
call dbg.runtime.findfunc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x44289d
movzx edx, byte [esp + 0x20]
mov esi, dword [esp + 0x190]
mov edi, dword [esp + 0x30]
mov ebx, ecx
movzx ecx, byte [esp + 0x1f]
jmp 0x441ae9
movzx ebx, byte [esp + 0x21]
test bl, bl
je 0x4429ec
mov ebp, dword [esp + 0x1dc]
mov esi, dword [ebp + 0x18]
movzx esi, byte [esi + 0x8d]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4429e5
xor edx, edx
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ecx
mov esi, dword [esp + 0x1ec]
test esi, esi
jne 0x4428ee
test dl, dl
jne 0x4428ee
test esi, esi
jne 0x442ebb
jmp 0x442881
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov ecx, dword [esp + 0x194]
mov dword [esp + 4], ecx
call dbg.runtime.funcname
mov eax, dword [esp + 8]
mov dword [esp + 0x180], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 0x78], edx
call dbg.runtime.printlock
lea eax, [0x4f090f]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call dbg.runtime.printstring
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4eb3e4]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call dbg.runtime.printstring
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printnl
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1dc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x1a0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
call dbg.runtime.tracebackHexdump
mov esi, dword [esp + 0x1ec]
test esi, esi
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
movzx ebx, byte [esp + 0x21]
mov ebp, dword [esp + 0x1dc]
jmp 0x4428e6
mov edx, ebx
jmp 0x4428c7
mov ebp, dword [esp + 0x1dc]
xor edx, edx
jmp 0x4428c7
xor ebx, ebx
jmp 0x442862
mov eax, dword [0x583cc4]
cmp eax, ebx
jne 0x442a15
mov eax, 1
jmp 0x441ad2
mov eax, dword [0x583cbc]
cmp eax, ebx
jne 0x442a29
mov eax, 1
jmp 0x441ad2
mov eax, dword [0x583cc0]
cmp eax, ebx
jne 0x442a3d
mov eax, 1
jmp 0x441ad2
mov eax, dword [0x583cf4]
cmp eax, ebx
jne 0x442a51
mov eax, 1
jmp 0x441ad2
mov eax, dword [0x583c78]
test eax, eax
je 0x442a8b
cmp ebx, eax
sete al
test al, al
je 0x442a6e
mov eax, 1
jmp 0x441ad2
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x442a84
mov eax, dword [0x583c50]
cmp eax, ebx
sete al
jmp 0x441ad2
xor eax, eax
jmp 0x441ad2
xor eax, eax
jmp 0x442a60
xor ebp, ebp
jmp 0x441ab9
mov eax, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1f4]
test edx, 4
je 0x442b90
mov edx, dword [esi]
mov edi, dword [0x583d0c]
cmp edi, edx
jne 0x442b85
mov edx, dword [esp + 0x160]
mov edi, dword [edx + 0x18]
mov edi, dword [edi]
mov edx, dword [esp + 0x1dc]
cmp edi, edx
jne 0x442b7d
mov edi, dword [edx + 0x18]
mov edi, dword [edi + 0x4c]
test edi, edi
je 0x442b75
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x1b4], eax
mov ebx, dword [edx + 0x18]
mov ebx, dword [ebx + 0x4c]
mov ebp, dword [ebx + 0xbc]
mov ebx, dword [ebx + 0xb8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp], esi
mov ecx, dword [esp + 0x194]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 8], edx
lea edx, [esp + 0x94]
mov dword [esp + 0xc], edx
call dbg.runtime.funcspdelta
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + eax + 4]
mov dword [esp + 0x1b8], eax
movzx ecx, byte [esp + 0x1f]
movzx edx, byte [esp + 0x20]
mov esi, dword [esp + 0x190]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x18c]
jmp 0x441a94
mov edi, ebx
mov ebx, ebp
mov ebp, edi
jmp 0x442b05
mov edi, ebx
mov ebx, ebp
mov ebp, edi
jmp 0x442b05
mov edx, ebx
mov ebx, ebp
mov ebp, edx
jmp 0x442b05
mov dword [esp + 0x8c], eax
mov eax, ebx
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x8c]
jmp 0x442b05
mov eax, edi
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x40]
jmp 0x441b82
mov ecx, dword [esp + 0x17c]
mov edx, eax
mov eax, edi
jmp 0x441b82
mov eax, dword [esp + 0x1ec]
test eax, eax
je 0x442c6a
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x78], eax
call dbg.runtime.printlock
lea eax, [0x4ed0ee]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call dbg.runtime.printstring
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printnl
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1dc]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x1a0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call dbg.runtime.tracebackHexdump
mov eax, dword [esp + 0x1ec]
test eax, eax
jne 0x442ed3
mov dword [esp + 0x1f8], 0
add esp, 0x1cc
ret
movzx ecx, byte [esp + 0x21]
test cl, cl
jne 0x442bda
test eax, eax
jmp 0x442c52
mov edi, dword [esp + 0x1ec]
test edi, edi
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
mov edi, dword [esp + 0x4c]
xchg ebp, eax
mov byte [esp + 0x21], al
xchg ebp, eax
mov ebp, dword [esp + 0x1e4]
jmp 0x44183a
mov ebx, dword [ecx + 0x20]
mov edx, dword [ecx + 0x1c]
jmp 0x4417ec
mov ecx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x1d0]
jmp 0x4417ec
mov ecx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1d4]
jmp 0x4417ec
mov ecx, dword [esp + 0x1ec]
jmp 0x441774
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x54]
mov dword [esp + 0x80], eax
mov ecx, dword [edx + 0x50]
mov dword [esp + 0x7c], ecx
call dbg.runtime.printlock
lea eax, [0x4ead3e]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call dbg.runtime.printstring
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call dbg.runtime.printint
lea eax, [0x4eae69]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call dbg.runtime.printstring
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
lea eax, [0x4ea0fd]
mov dword [esp], eax
mov dword [esp + 4], 5
call dbg.runtime.printstring
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printnl
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1dc]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x74], eax
call dbg.runtime.printlock
lea eax, [0x4ea7cc]
mov dword [esp], eax
mov dword [esp + 4], 8
call dbg.runtime.printstring
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
lea eax, [0x4e9d5b]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
lea eax, [0x4ea00c]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x40]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call dbg.runtime.printint
lea eax, [0x4ea0e9]
mov dword [esp], eax
mov dword [esp + 4], 5
call dbg.runtime.printstring
mov eax, dword [esp + 0x1e8]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call dbg.runtime.printint
call dbg.runtime.printnl
call dbg.runtime.printunlock
lea eax, [0x4f0c0b]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call dbg.runtime.throw
ud2
lea eax, [0x4ef96f]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call dbg.runtime.throw
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
lea eax, [0x4ec3f2]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call dbg.runtime.throw
ud2
lea eax, [0x4ead84]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call dbg.runtime.throw
ud2
lea eax, [0x4f2a04]
mov dword [esp], eax
mov dword [esp + 4], 0x39
call dbg.runtime.throw
ud2
lea eax, [0x4f1a37]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call dbg.runtime.throw
ud2
lea eax, [0x4f28f0]
mov dword [esp], eax
mov dword [esp + 4], 0x37
call dbg.runtime.throw
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.gentraceback