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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x140]
cmp eax, dword [ecx + 8]
jbe 0x43e852
sub esp, 0x1c0
xor eax, eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x1d4]
test eax, eax
jle 0x43e4cf
mov ecx, dword [esp + 0x1e0]
test ecx, ecx
jne 0x43e83a
mov edx, dword [0x51b5f0]
test edx, edx
je 0x43e822
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov dword [esp + 0x158], edx
mov ebx, dword [esp + 0x1d0]
cmp edx, ebx
jne 0x43d28c
mov ebp, dword [edx + 0x18]
mov ebp, dword [ebp + 0x4c]
cmp edx, ebp
je 0x43e80a
call dbg.runtime.gotraceback
mov eax, dword [esp]
mov ecx, dword [esp + 0x1c4]
cmp ecx, 0xffffffff
jne 0x43e4b5
mov edx, dword [esp + 0x1c8]
cmp edx, 0xffffffff
jne 0x43e4a2
mov ecx, dword [esp + 0x1d0]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x43e497
mov ebx, dword [ecx + 0x3c]
mov dword [esp + 0x40], eax
lea edi, [esp + 0x194]
mov ebp, eax
xor eax, eax
call fcn.004470d5
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a8], edx
mov ecx, dword [esp + 0x1d0]
mov ebx, dword [ecx + 0xbc]
mov esi, dword [ecx + 0xb8]
mov edi, ebp
mov ebp, dword [esp + 0x1d8]
test ebp, ebp
je 0x43e46e
xor eax, eax
mov byte [esp + 0x1f], al
xor eax, eax
mov edi, dword [ecx + 0x14]
jmp 0x43d326
mov edi, dword [edi + 0x18]
mov ebp, dword [esp + 0x1d8]
test edi, edi
je 0x43d332
mov ebp, dword [edi + 8]
cmp ebp, 0xffffffff
je 0x43d31c
mov dword [esp + 0x174], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x170], esi
mov ebp, dword [esp + 0x19c]
test ebp, ebp
jne 0x43d369
mov edx, dword [edx]
mov dword [esp + 0x19c], edx
mov edx, dword [esp + 0x1a8]
add edx, 4
mov dword [esp + 0x1a8], edx
mov eax, dword [esp + 0x19c]
mov dword [esp], eax
call dbg.runtime.findfunc
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x43e44d
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
lea edi, [esp + 0x90]
xor eax, eax
call fcn.004470b0
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x1d4]
xor esi, esi
mov edi, dword [esp + 0x174]
jmp 0x43d50c
mov edi, dword [edi + 0x18]
test edi, edi
je 0x43e1b2
mov ecx, dword [edi + 8]
mov ebx, dword [esp + 0x1a8]
cmp ebx, ecx
je 0x43d3c8
cmp ecx, 0xffffffff
je 0x43d3c8
test eax, eax
mov dword [esp + 0x174], edi
jne 0x43e14d
mov ecx, dword [esp + 0x1d8]
test ecx, ecx
je 0x43e13d
mov ebx, dword [esp + 0x1d4]
test ebx, ebx
jne 0x43df5c
mov edi, dword [esp + 0x19c]
mov eax, dword [esp + 0x38]
cmp eax, 0x100000
jae 0x43e6c9
mov dword [ecx + eax*4], edi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x43d8c8
mov edi, dword [esp + 0x2c]
inc eax
mov esi, dword [ebp]
mov ecx, dword [0x51b5a8]
cmp ecx, esi
jne 0x43d8c2
mov ecx, dword [esp + 0x50]
test ecx, ecx
jle 0x43d8b2
lea esi, [ecx - 1]
cmp esi, ecx
jae 0x43e6a6
mov ecx, dword [edx + ecx*4 - 4]
test ebx, ebx
jne 0x43d8a6
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x1e0]
test ecx, ecx
je 0x43d841
mov dword [esp + 0x84], eax
mov ebp, dword [ebp]
mov ecx, dword [0x51b648]
mov eax, dword [esp + 0x16c]
test eax, eax
je 0x43d622
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a4], 0
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1bc], 0
cmp ecx, ebp
sete cl
mov eax, dword [esp + 0x84]
mov ebp, ebx
mov ebx, esi
mov esi, edi
mov edi, dword [esp + 0x174]
mov dword [esp + 0x1d4], ebp
mov ebp, dword [esp + 0x1dc]
cmp eax, ebp
jge 0x43e442
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0x194]
mov eax, dword [esp + 0x198]
mov dword [esp + 0x160], eax
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x43e435
mov dword [esp + 0x188], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x168], ebp
mov byte [esp + 0x1e], cl
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x43e31c
mov dword [esp + 0x50], ebx
mov eax, dword [ebp]
mov ebx, dword [0x51b5f0]
cmp ebx, eax
jne 0x43e2b1
mov eax, 1
mov dword [esp + 0x184], edx
test al, al
je 0x43e242
mov dword [esp + 0x1a4], 0
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x164], eax
mov dword [esp + 0x16c], ebx
mov eax, dword [esp + 0x1ac]
add eax, 0xfffffffc
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1e0]
test eax, eax
setne bl
jne 0x43e1c9
movzx esi, byte [esp + 0x1f]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x43e1c9
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x1a0], ebx
test cl, cl
je 0x43d3cb
test edi, edi
je 0x43e1b9
mov ebx, dword [edi + 8]
mov ecx, dword [esp + 0x1a8]
cmp ecx, ebx
jne 0x43e1b9
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x1a0], ecx
jmp 0x43d3cb
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x84]
movzx edx, byte [esp + 0x1f]
test dl, dl
je 0x43d83a
mov ecx, dword [esp + 0x1e0]
test ecx, ecx
je 0x43d831
mov edx, dword [esp + 0x1dc]
cmp edi, edx
jge 0x43d82d
test eax, eax
je 0x43d7fe
mov ecx, dword [esp + 0x1d0]
mov edx, dword [ecx + 0x54]
mov dword [esp + 0x80], edx
mov ebx, dword [ecx + 0x50]
mov dword [esp + 0x7c], ebx
mov ebp, dword [eax + 8]
mov dword [esp + 0x78], ebp
mov eax, dword [eax + 0xc]
mov dword [esp + 0x74], eax
call dbg.runtime.printlock
lea eax, [0x4a55b8]
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, [0x4a72cc]
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, [0x4a4a84]
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, [0x4a48dc]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1d0]
mov eax, dword [eax + 0x14]
jmp 0x43d7f1
mov dword [esp + 0x174], 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, [0x4a4f53]
mov dword [esp], eax
mov dword [esp + 4], 7
call dbg.runtime.printstring
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call dbg.runtime.printpointer
lea eax, [0x4a4a8c]
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, [0x4a4a84]
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, [0x4a48dc]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x43d739
jmp 0x43e68e
test ecx, ecx
je 0x43d81f
cmp edi, edx
jge 0x43d81f
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1d0]
mov ebx, dword [ecx + 0x40]
cmp eax, ebx
jne 0x43e4db
mov dword [esp + 0x1ec], edi
add esp, 0x1c0
ret
test ecx, ecx
jmp 0x43d800
mov edx, dword [esp + 0x1dc]
jmp 0x43d800
mov edi, ecx
jmp 0x43d63d
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov ecx, dword [esp + 0x1d8]
mov dword [esp], ecx
movzx edx, byte [esp + 0x1f]
mov byte [esp + 4], dl
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x10], eax
call dbg.runtime.tracebackCgoContext
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x184]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x168]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
jmp 0x43d482
mov ecx, dword [esp + 0x1e0]
jmp 0x43d482
mov ecx, dword [esp + 0x1e0]
mov esi, dword [esp + 0x50]
jmp 0x43d482
mov ecx, dword [esp + 0x50]
jmp 0x43d8b2
mov dword [esp + 0x64], ebx
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x1e8]
test edi, 1
je 0x43deee
mov esi, dword [esp + 0x19c]
test eax, eax
jle 0x43dedd
mov edi, dword [ebp]
cmp esi, edi
jbe 0x43d90b
movzx edi, byte [esp + 0x1e]
xchg edi, eax
test al, al
xchg edi, eax
je 0x43ded7
mov dword [esp + 0x20], esi
mov dword [esp], ebp
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call dbg.runtime.funcline
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x168]
mov dword [esp], ebx
mov ebp, dword [esp + 0x160]
mov dword [esp + 4], ebp
mov dword [esp + 8], 2
call dbg.runtime.funcdata
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x43dd1a
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x168]
mov dword [esp], ebx
mov ebp, dword [esp + 0x160]
mov dword [esp + 4], ebp
call dbg.runtime.funcname
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp eax, 0xf
je 0x43dcc8
mov dword [esp + 0x30], eax
mov dword [esp + 0x150], ecx
call dbg.runtime.printlock
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4a48c5]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x180], eax
xor ecx, ecx
jmp 0x43da41
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 + 0x44]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x180]
mov edx, dword [esp + 0x1b8]
shr edx, 2
cmp ecx, edx
jae 0x43daa9
cmp ecx, 0xa
jae 0x43da89
mov dword [esp + 0x44], ecx
test ecx, ecx
je 0x43da0c
call dbg.runtime.printlock
lea eax, [0x4a48f6]
mov dword [esp], eax
mov dword [esp + 4], 2
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x44]
jmp 0x43da0c
call dbg.runtime.printlock
lea eax, [0x4a4c09]
mov dword [esp], eax
mov dword [esp + 4], 5
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x4a48f4]
mov dword [esp], eax
mov dword [esp + 4], 2
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x4a48dd]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4a48cf]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call dbg.runtime.printint
call dbg.runtime.printunlock
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x168]
mov edx, dword [ecx]
cmp eax, edx
ja 0x43dc7a
mov eax, dword [esp + 0x158]
mov edx, dword [eax + 0x18]
mov ebx, dword [edx + 0x64]
test ebx, ebx
jle 0x43dc71
mov edx, dword [edx + 0x4c]
mov ebx, dword [esp + 0x1d0]
cmp edx, ebx
jne 0x43dc62
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x19c]
mov dword [esp + 0x60], edx
call dbg.runtime.printlock
lea eax, [0x4a4a70]
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, [0x4a4a8c]
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, [0x4a4a84]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.printhex
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x4a48dc]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x184]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x168]
movzx esi, byte [esp + 0x1f]
mov edi, eax
mov eax, dword [esp + 0x84]
jmp 0x43d43a
mov edx, dword [esp + 0x40]
cmp edx, 2
jge 0x43db68
jmp 0x43dc11
mov ebx, dword [esp + 0x1d0]
jmp 0x43dc62
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], edx
call dbg.runtime.printlock
lea eax, [0x4a48e6]
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 + 0x168]
jmp 0x43db41
mov dword [esp + 0x5c], eax
mov dword [esp + 0x17c], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x4a63ec]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xf
call dbg.runtime.eqstring
movzx eax, byte [esp + 0x10]
test al, al
je 0x43dd0a
mov eax, 5
lea ecx, [0x4a4cae]
jmp 0x43d9b8
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x17c]
jmp 0x43d9b8
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
call dbg.runtime.pcdatavalue
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x3c]
jmp 0x43deb9
mov dword [esp + 0x58], ecx
mov dword [esp + 0x178], edx
mov dword [esp + 0x80], ebx
shl eax, 4
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + eax + 0xc]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x168]
mov dword [esp], edx
mov ebx, dword [esp + 0x160]
mov dword [esp + 4], ebx
call dbg.runtime.funcnameFromNameoff
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], 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 + 0x34]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4a4d0e]
mov dword [esp], eax
mov dword [esp + 4], 6
call dbg.runtime.printstring
call dbg.runtime.printunlock
call dbg.runtime.printlock
lea eax, [0x4a48dd]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4a48cf]
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
lea eax, [0x4a48dc]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + eax + 4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x168]
mov dword [esp], edx
mov ebx, dword [esp + 0x160]
mov dword [esp + 4], ebx
call dbg.runtime.funcfile
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x180]
mov ebp, dword [ebx + eax + 8]
mov eax, dword [eax + ebx]
mov ebx, ebp
cmp eax, 0xffffffff
je 0x43dece
cmp eax, 0x100000
jb 0x43dd6b
jmp 0x43e6ad
mov eax, edx
mov edx, ebx
jmp 0x43d97e
dec esi
jmp 0x43d90b
test edi, 2
je 0x43d8f5
jmp 0x43d90b
mov dword [esp], ebp
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x2c]
test edx, edx
sete bl
mov byte [esp + 0xc], bl
call dbg.runtime.showframe
movzx eax, byte [esp + 0x10]
test al, al
jne 0x43df2b
mov eax, dword [esp + 0x2c]
jmp 0x43dc36
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x184]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x168]
movzx esi, byte [esp + 0x1f]
mov edi, dword [esp + 0x1e8]
jmp 0x43d8e6
mov esi, dword [esp + 0x19c]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x43e118
mov edi, dword [ebp]
cmp esi, edi
jbe 0x43e10e
movzx edi, byte [esp + 0x1e]
xchg edi, eax
test al, al
xchg edi, eax
je 0x43e108
mov dword [esp + 0x24], esi
mov dword [esp], ebp
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call dbg.runtime.funcdata
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x43dfe1
mov eax, dword [esp + 0x1d4]
lea ebx, [eax - 1]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x168]
movzx esi, byte [esp + 0x1f]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
jmp 0x43d43b
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x90]
mov dword [esp + 0x10], edx
call dbg.runtime.pcdatavalue
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x1d4]
xor ebx, ebx
jmp 0x43e03b
dec edx
inc ebx
shl eax, 4
mov eax, dword [eax + ecx]
test eax, eax
jl 0x43e04f
test edx, edx
jle 0x43e04f
cmp eax, 0x100000
jb 0x43e033
jmp 0x43e6c2
test edx, edx
jle 0x43e07d
lea ebx, [edx - 1]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x168]
movzx esi, byte [esp + 0x1f]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
jmp 0x43d43b
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x38]
cmp ecx, 0x100000
jae 0x43e6bb
mov ebp, dword [esp + 0x1d8]
mov dword [ebp + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x1dc]
cmp eax, esi
jge 0x43e104
lea edi, [0x48d280]
mov dword [esp + 0x18c], edi
lea edi, [0x4acdb0]
mov dword [esp + 0x190], edi
lea edi, [esp + 0x18c]
add edi, 4
mov esi, dword [edi]
test byte [edi], al
mov esi, dword [esi]
add ebx, esi
cmp eax, 0x100000
jae 0x43e6b4
mov dword [ebp + ecx*4 + 4], ebx
mov ecx, ebp
mov ebp, dword [esp + 0x168]
movzx esi, byte [esp + 0x1f]
mov ebx, edx
mov edx, dword [esp + 0x184]
jmp 0x43d42c
mov eax, ecx
jmp 0x43e0e8
dec esi
jmp 0x43df89
movzx edi, byte [esp + 0x1e]
jmp 0x43df89
mov edi, dword [esp + 0x1e8]
test edi, 2
jne 0x43e133
mov edi, dword [esp + 0x174]
jmp 0x43df6f
movzx edi, byte [esp + 0x1e]
jmp 0x43df89
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x1d4]
jmp 0x43d42c
lea ecx, [esp + 0x194]
mov dword [esp], ecx
mov ebx, dword [esp + 0x1e4]
mov dword [esp + 4], ebx
mov ebp, dword [eax]
mov edx, eax
call ebp
movzx eax, byte [esp + 8]
test al, al
je 0x43e1a0
mov ecx, dword [esp + 0x1d8]
test ecx, ecx
mov eax, dword [esp + 0x1e0]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x168]
movzx esi, byte [esp + 0x1f]
mov edi, dword [esp + 0x174]
jmp 0x43d3fe
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1ec], eax
add esp, 0x1c0
ret
test eax, eax
jmp 0x43d3e8
mov dword [esp + 0x1a0], 0
jmp 0x43d3cb
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x1b4], eax
lea eax, [esp + 0x194]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x160]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov dword [esp + 0x10], 0
call dbg.runtime.getArgInfo
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], ecx
mov eax, dword [esp + 0x1e0]
movzx ecx, byte [esp + 0x1e]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x168]
movzx esi, byte [esp + 0x1f]
mov edi, dword [esp + 0x188]
jmp 0x43d5e3
mov eax, dword [esp + 0x1a4]
test eax, eax
jne 0x43e260
mov eax, dword [esp + 0x1ac]
add eax, 0xfffffffc
mov eax, dword [eax]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
call dbg.runtime.findfunc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x43e2a0
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x168]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x188]
mov ebx, ecx
movzx ecx, byte [esp + 0x1e]
jmp 0x43d5a3
mov edx, dword [esp + 0x1e0]
test edx, edx
jne 0x43e6d0
jmp 0x43e27b
mov ebx, dword [0x51b60c]
cmp ebx, eax
jne 0x43e2c5
mov eax, 1
jmp 0x43d585
mov ebx, dword [0x51b604]
cmp ebx, eax
jne 0x43e2d9
mov eax, 1
jmp 0x43d585
mov ebx, dword [0x51b608]
cmp ebx, eax
jne 0x43e2ed
mov eax, 1
jmp 0x43d585
mov ebx, dword [0x51b63c]
cmp ebx, eax
jne 0x43e301
mov eax, 1
jmp 0x43d585
mov ebx, dword [0x51b5c0]
test ebx, ebx
je 0x43e315
cmp eax, ebx
sete al
jmp 0x43d585
xor eax, eax
jmp 0x43d585
mov eax, dword [esp + 0x1a8]
mov esi, dword [esp + 0x1e8]
test esi, 4
je 0x43e41c
mov esi, dword [ebp]
mov edi, dword [0x51b654]
cmp edi, esi
jne 0x43e411
mov esi, dword [esp + 0x158]
mov edi, dword [esi + 0x18]
mov edi, dword [edi]
mov esi, dword [esp + 0x1d0]
cmp edi, esi
jne 0x43e406
mov edi, dword [esi + 0x18]
mov edi, dword [edi + 0x4c]
test edi, edi
je 0x43e3fe
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x1a8], eax
mov edx, dword [esi + 0x18]
mov edx, dword [edx + 0x4c]
mov ebx, dword [edx + 0xb8]
mov edx, dword [edx + 0xbc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x184], ebx
mov dword [esp], ebp
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
mov esi, dword [esp + 0x19c]
mov dword [esp + 8], esi
lea esi, [esp + 0x90]
mov dword [esp + 0xc], esi
call dbg.runtime.funcspdelta
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
lea eax, [ecx + eax + 4]
mov dword [esp + 0x1ac], eax
movzx ecx, byte [esp + 0x1e]
mov ebp, dword [esp + 0x168]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x188]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x184]
jmp 0x43d56b
mov edi, edx
mov edx, ebx
mov ebx, edi
jmp 0x43e38c
mov edi, edx
mov edx, ebx
mov ebx, edi
jmp 0x43e38c
mov esi, edx
mov edx, ebx
mov ebx, esi
jmp 0x43e38c
mov dword [esp + 0x88], eax
mov eax, edx
mov edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x88]
jmp 0x43e38c
mov eax, edi
mov ecx, dword [esp + 0x38]
mov edi, esi
jmp 0x43d630
mov ecx, eax
mov eax, edi
mov edi, esi
jmp 0x43d630
mov eax, dword [esp + 0x1e0]
test eax, eax
jne 0x43e79d
mov dword [esp + 0x1ec], 0
add esp, 0x1c0
ret
mov edi, dword [esp + 0x1e0]
test edi, edi
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
mov edi, dword [esp + 0x40]
xchg ebp, eax
mov byte [esp + 0x1f], al
xchg ebp, eax
mov ebp, dword [esp + 0x1d8]
jmp 0x43d317
mov ebx, dword [ecx + 0x20]
mov edx, dword [ecx + 0x1c]
jmp 0x43d2c9
mov ecx, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x1c4]
jmp 0x43d2c9
mov ecx, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1c8]
jmp 0x43d2c9
mov ecx, dword [esp + 0x1e0]
jmp 0x43d251
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x38], edi
mov eax, dword [ecx + 0x54]
mov dword [esp + 0x80], eax
mov edx, dword [ecx + 0x50]
mov dword [esp + 0x7c], edx
call dbg.runtime.printlock
lea eax, [0x4a55b8]
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, [0x4a56c2]
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, [0x4a4bc8]
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
lea eax, [0x4a48dc]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov eax, dword [esp + 0x1d0]
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, [0x4a511c]
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, [0x4a48ca]
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, [0x4a4b0c]
mov dword [esp], eax
mov dword [esp + 4], 4
call dbg.runtime.printstring
mov eax, dword [esp + 0x38]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call dbg.runtime.printint
lea eax, [0x4a4bb4]
mov dword [esp], eax
mov dword [esp + 4], 5
call dbg.runtime.printstring
mov eax, dword [esp + 0x1dc]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call dbg.runtime.printint
lea eax, [0x4a48dc]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
lea eax, [0x4aabc7]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call dbg.runtime.throw
ud2
lea eax, [0x4a9b72]
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
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
call dbg.runtime.funcname
mov eax, dword [esp + 8]
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0x78], edx
call dbg.runtime.printlock
lea eax, [0x4aa979]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call dbg.runtime.printstring
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
call dbg.runtime.printstring
lea eax, [0x4a5c07]
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
lea eax, [0x4a48dc]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
lea eax, [0x4a6a60]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call dbg.runtime.throw
ud2
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x78], eax
call dbg.runtime.printlock
lea eax, [0x4a768c]
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, [0x4a48dc]
mov dword [esp], eax
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
lea eax, [0x4a55fe]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call dbg.runtime.throw
ud2
lea eax, [0x4ac7b1]
mov dword [esp], eax
mov dword [esp + 4], 0x39
call dbg.runtime.throw
ud2
lea eax, [0x4ab92f]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call dbg.runtime.throw
ud2
lea eax, [0x4ac69d]
mov dword [esp], eax
mov dword [esp + 4], 0x37
call dbg.runtime.throw
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.gentraceback