Function at 0x449c00
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 0x44b413
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 0x44b1bc
mov ecx, dword [esp + 0x1ec]
test ecx, ecx
jne 0x44b3fb
mov edx, dword [0xaa10fc]
test edx, edx
je 0x44b3e3
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov dword [esp + 0x160], edx
mov ebx, dword [esp + 0x1dc]
cmp edx, ebx
jne 0x449c8f
mov ebp, dword [edx + 0x18]
mov ebp, dword [ebp + 0x4c]
cmp edx, ebp
je 0x44b3cb
call dbg.runtime.gotraceback
mov eax, dword [esp]
mov ecx, dword [esp + 0x1d0]
cmp ecx, 0xffffffff
jne 0x44b1a2
mov edx, dword [esp + 0x1d4]
cmp edx, 0xffffffff
jne 0x44b18f
mov ecx, dword [esp + 0x1dc]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x44b184
mov ebx, dword [ecx + 0x3c]
mov dword [esp + 0x4c], eax
lea edi, [esp + 0x1a0]
mov ebp, eax
xor eax, eax
call fcn.00453fe5
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 0x44b15b
xor eax, eax
mov byte [esp + 0x21], al
xor eax, eax
mov edi, dword [ecx + 0x14]
jmp 0x449d29
mov edi, dword [edi + 0x18]
mov ebp, dword [esp + 0x1e4]
test edi, edi
je 0x449d35
mov ebp, dword [edi + 8]
cmp ebp, 0xffffffff
je 0x449d1f
mov dword [esp + 0x17c], edi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x178], esi
mov ebp, dword [esp + 0x1a8]
test ebp, ebp
jne 0x449d6c
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 0x44b0ab
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
lea edi, [esp + 0x94]
xor eax, eax
call fcn.00453fc0
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 0x449f18
mov eax, dword [eax + 0x18]
test eax, eax
je 0x44ac87
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x1b4]
cmp esi, ecx
je 0x449dc6
cmp ecx, 0xffffffff
je 0x449dc6
test ebp, ebp
mov dword [esp + 0x17c], eax
jne 0x44ac26
mov ecx, dword [esp + 0x1e4]
test ecx, ecx
je 0x44ac16
mov esi, dword [esp + 0x1e0]
test esi, esi
jne 0x44aa3e
mov eax, dword [esp + 0x1a8]
mov ebp, dword [esp + 0x40]
cmp ebp, 0x100000
jae 0x44b394
mov dword [ecx + ebp*4], eax
test bl, bl
jne 0x44a2e0
lea eax, [ebp + 1]
mov dword [esp + 0x88], edi
mov ebp, dword [esp + 0x190]
mov ebx, dword [ebp]
mov ecx, dword [0xaa10b4]
cmp ecx, ebx
jne 0x44a2da
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jle 0x44a2c3
lea ebx, [ecx - 1]
cmp ebx, ecx
jae 0x44b371
mov edi, dword [esp + 0x18c]
mov ecx, dword [edi + ecx*4 - 4]
test esi, esi
jne 0x44a2b7
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x1ec]
test ecx, ecx
je 0x44a251
mov dword [esp + 0x84], eax
mov ebp, dword [ebp]
mov ecx, dword [0xaa1154]
mov eax, dword [esp + 0x174]
test eax, eax
je 0x44a04d
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 0x44b09b
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 0x44b089
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 0x44af76
mov dword [esp + 0x18c], ebp
mov eax, dword [esp + 0x1dc]
mov ebp, dword [eax + 0x18]
test ebp, ebp
je 0x44af6f
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 [0xaa10fc]
cmp eax, ebx
jne 0x44aee1
mov eax, 1
test al, al
je 0x44ad1e
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 0x44acaa
movzx ebx, byte [esp + 0x21]
test bl, bl
jne 0x44acaa
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1ac], eax
test cl, cl
je 0x44ac9e
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x44ac8e
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x1b4]
cmp esi, ecx
jne 0x44ac8e
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1ac], ecx
jmp 0x449dc9
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x84]
movzx ebx, byte [esp + 0x21]
test bl, bl
je 0x44a24a
mov edx, dword [esp + 0x1ec]
test edx, edx
je 0x44a241
mov ebx, dword [esp + 0x1e8]
cmp eax, ebx
jge 0x44a23d
test ecx, ecx
je 0x44a20e
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, [0x8152ff]
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, [0x81af47]
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, [0x8103b4]
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 0x44a201
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, [0x812bda]
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, [0x8103bc]
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, [0x8103b4]
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 0x44a15a
jmp 0x44b359
test edx, edx
je 0x44a22f
cmp eax, ebx
jge 0x44a22f
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1dc]
mov ebp, dword [edx + 0x40]
cmp ecx, ebp
jne 0x44b1c8
mov dword [esp + 0x1f8], eax
add esp, 0x1cc
ret
test edx, edx
jmp 0x44a210
mov ebx, dword [esp + 0x1e8]
jmp 0x44a210
mov eax, edx
jmp 0x44a06f
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 0x449e92
mov ecx, dword [esp + 0x1ec]
jmp 0x449e92
mov ecx, dword [esp + 0x1ec]
mov edi, dword [esp + 0x18c]
mov ebx, dword [esp + 0x5c]
jmp 0x449e92
mov ecx, dword [esp + 0x5c]
jmp 0x44a2c3
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 0x44aa13
xor edx, edx
test dl, dl
je 0x44a9dc
mov edx, 1
test dl, dl
je 0x44a9a5
mov edx, 1
mov byte [esp + 0x22], dl
mov ebx, dword [esp + 0x1f4]
test ebx, 1
je 0x44a92f
mov ebp, dword [esp + 0x1a8]
mov esi, dword [esp + 0x88]
test esi, esi
jle 0x44a917
mov edi, dword [esp + 0x190]
mov ebx, dword [edi]
cmp ebp, ebx
jbe 0x44a384
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x44a911
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 0x44a759
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 0x44a713
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, [0x80fbcb]
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 0x44a4a3
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 0x44a50b
cmp ecx, 0xa
jae 0x44a4eb
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x44a46e
call dbg.runtime.printlock
lea eax, [0x80fc2f]
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 0x44a46e
call dbg.runtime.printlock
lea eax, [0x810c1f]
mov dword [esp], eax
mov dword [esp + 4], 5
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x80fc29]
mov dword [esp], eax
mov dword [esp + 4], 2
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x80fbf3]
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, [0x80fbda]
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 0x44a6c5
mov eax, dword [esp + 0x160]
mov edx, dword [eax + 0x18]
mov ebx, dword [edx + 0x68]
test ebx, ebx
jle 0x44a6bc
mov edx, dword [edx + 0x4c]
mov ebx, dword [esp + 0x1dc]
cmp edx, ebx
jne 0x44a6ad
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, [0x81039c]
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, [0x8103bc]
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, [0x8103b4]
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 0x449e33
mov edx, dword [esp + 0x4c]
cmp edx, 2
jge 0x44a5ca
jmp 0x44a673
mov ebx, dword [esp + 0x1dc]
jmp 0x44a6ad
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], edx
call dbg.runtime.printlock
lea eax, [0x80fc03]
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 0x44a5a3
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
lea edx, [0x818150]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call dbg.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x44a749
mov eax, 5
lea ebp, [0x8114ad]
jmp 0x44a41a
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x158]
jmp 0x44a41a
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 0x44a8f0
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, [0x81182e]
mov dword [esp], eax
mov dword [esp + 4], 6
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x80fbf3]
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, [0x80fbda]
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 0x44a905
cmp eax, 0x100000
jb 0x44a7aa
jmp 0x44b378
mov eax, dword [esp + 0x38]
cmp eax, 0xf
jmp 0x44a3fe
dec ebp
jmp 0x44a384
test ebx, 2
je 0x44a36a
mov edi, dword [esp + 0x190]
jmp 0x44a384
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 0x44a9a1
test eax, eax
setne cl
mov byte [esp + 0xd], cl
call dbg.runtime.showframe
movzx eax, byte [esp + 0x10]
test al, al
jne 0x44a985
mov eax, dword [esp + 0x30]
jmp 0x44a687
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x38]
movzx edx, byte [esp + 0x22]
mov ebx, dword [esp + 0x1f4]
jmp 0x44a354
xor ecx, ecx
jmp 0x44a96a
cmp ecx, 0x11
je 0x44a9b1
xor edx, edx
jmp 0x44a33d
mov dword [esp], eax
lea edx, [0x81961b]
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 0x44a33d
cmp ecx, 0x10
je 0x44a9e8
xor edx, edx
jmp 0x44a330
mov dword [esp], eax
lea edx, [0x818c3a]
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 0x44a330
mov dword [esp], eax
lea edx, [0x818150]
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 0x44a323
mov ebx, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x40]
test ecx, ecx
jle 0x44abeb
mov eax, dword [esp + 0x190]
mov ebp, dword [eax]
cmp ebx, ebp
jbe 0x44abe1
movzx ebp, byte [esp + 0x1f]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44abdb
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 0x44aac0
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 0x449e36
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 0x44ab1a
dec edx
inc ebx
shl eax, 4
mov eax, dword [eax + ecx]
test eax, eax
jl 0x44ab2e
test edx, edx
jle 0x44ab2e
cmp eax, 0x100000
jb 0x44ab12
jmp 0x44b38d
test edx, edx
jle 0x44ab53
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 0x449e36
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x40]
cmp ecx, 0x100000
jae 0x44b386
mov ebp, dword [esp + 0x1e4]
mov dword [ebp + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x1e8]
cmp eax, esi
jge 0x44abd7
lea edi, [0x785ca0]
mov dword [esp + 0x198], edi
lea edi, [0x83a07c]
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 0x44b37f
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 0x449e2b
mov eax, ecx
jmp 0x44abbe
dec ebx
jmp 0x44aa71
movzx ebp, byte [esp + 0x1f]
jmp 0x44aa71
mov eax, dword [esp + 0x1f4]
test eax, 2
jne 0x44ac05
mov eax, dword [esp + 0x17c]
jmp 0x44aa51
mov eax, dword [esp + 0x190]
movzx ebp, byte [esp + 0x1f]
jmp 0x44aa71
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x1e0]
jmp 0x449e2b
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 0x44ac75
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 0x449dfc
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1f8], eax
add esp, 0x1cc
ret
test ebp, ebp
jmp 0x449de6
mov dword [esp + 0x1ac], 0
jmp 0x449dc9
mov eax, dword [esp + 0x17c]
jmp 0x449dc9
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 0x44a007
mov eax, dword [esp + 0x1b0]
test eax, eax
jne 0x44aeda
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 0x44ad7d
movzx edx, byte [esp + 0x20]
mov esi, dword [esp + 0x190]
mov edi, dword [esp + 0x30]
mov ebx, ecx
movzx ecx, byte [esp + 0x1f]
jmp 0x449fc9
movzx ebx, byte [esp + 0x21]
test bl, bl
je 0x44aecc
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 0x44aec5
xor edx, edx
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ecx
mov esi, dword [esp + 0x1ec]
test esi, esi
jne 0x44adce
test dl, dl
jne 0x44adce
test esi, esi
jne 0x44b39b
jmp 0x44ad61
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, [0x8238db]
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, [0x8166f6]
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 0x44adc6
mov edx, ebx
jmp 0x44ada7
mov ebp, dword [esp + 0x1dc]
xor edx, edx
jmp 0x44ada7
xor ebx, ebx
jmp 0x44ad42
mov eax, dword [0xaa1118]
cmp eax, ebx
jne 0x44aef5
mov eax, 1
jmp 0x449fb2
mov eax, dword [0xaa1110]
cmp eax, ebx
jne 0x44af09
mov eax, 1
jmp 0x449fb2
mov eax, dword [0xaa1114]
cmp eax, ebx
jne 0x44af1d
mov eax, 1
jmp 0x449fb2
mov eax, dword [0xaa1148]
cmp eax, ebx
jne 0x44af31
mov eax, 1
jmp 0x449fb2
mov eax, dword [0xaa10cc]
test eax, eax
je 0x44af6b
cmp ebx, eax
sete al
test al, al
je 0x44af4e
mov eax, 1
jmp 0x449fb2
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44af64
mov eax, dword [0xaa10a4]
cmp eax, ebx
sete al
jmp 0x449fb2
xor eax, eax
jmp 0x449fb2
xor eax, eax
jmp 0x44af40
xor ebp, ebp
jmp 0x449f99
mov eax, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1f4]
test edx, 4
je 0x44b070
mov edx, dword [esi]
mov edi, dword [0xaa1160]
cmp edi, edx
jne 0x44b065
mov edx, dword [esp + 0x160]
mov edi, dword [edx + 0x18]
mov edi, dword [edi]
mov edx, dword [esp + 0x1dc]
cmp edi, edx
jne 0x44b05d
mov edi, dword [edx + 0x18]
mov edi, dword [edi + 0x4c]
test edi, edi
je 0x44b055
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 0x449f74
mov edi, ebx
mov ebx, ebp
mov ebp, edi
jmp 0x44afe5
mov edi, ebx
mov ebx, ebp
mov ebp, edi
jmp 0x44afe5
mov edx, ebx
mov ebx, ebp
mov ebp, edx
jmp 0x44afe5
mov dword [esp + 0x8c], eax
mov eax, ebx
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x8c]
jmp 0x44afe5
mov eax, edi
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x40]
jmp 0x44a062
mov ecx, dword [esp + 0x17c]
mov edx, eax
mov eax, edi
jmp 0x44a062
mov eax, dword [esp + 0x1ec]
test eax, eax
je 0x44b14a
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x78], eax
call dbg.runtime.printlock
lea eax, [0x81b9ab]
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 0x44b3b3
mov dword [esp + 0x1f8], 0
add esp, 0x1cc
ret
movzx ecx, byte [esp + 0x21]
test cl, cl
jne 0x44b0ba
test eax, eax
jmp 0x44b132
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 0x449d1a
mov ebx, dword [ecx + 0x20]
mov edx, dword [ecx + 0x1c]
jmp 0x449ccc
mov ecx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x1d0]
jmp 0x449ccc
mov ecx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1d4]
jmp 0x449ccc
mov ecx, dword [esp + 0x1ec]
jmp 0x449c54
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, [0x8152ff]
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, [0x815561]
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, [0x810b8e]
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, [0x813b2d]
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, [0x80fbd0]
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, [0x810688]
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, [0x810b7a]
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, [0x8241b1]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call dbg.runtime.throw
ud2
lea eax, [0x8210ff]
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, [0x81976f]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call dbg.runtime.throw
ud2
lea eax, [0x8153bd]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call dbg.runtime.throw
ud2
lea eax, [0x82c3a1]
mov dword [esp], eax
mov dword [esp + 4], 0x39
call dbg.runtime.throw
ud2
lea eax, [0x8279b6]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call dbg.runtime.throw
ud2
lea eax, [0x82bd54]
mov dword [esp], eax
mov dword [esp + 4], 0x37
call dbg.runtime.throw
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.gentraceback