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

Disassembly:
mov ecx, dword [0x62bbe4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x4288a1
sub esp, 0xbc
mov eax, dword [esp + 0xc0]
test byte [eax], al
mov ebx, dword [0x62bb24]
mov ebp, dword [0x5e2340]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebp
lea ebx, [sym.runtime._pageAlloc_.find.func1]
mov dword [esp + 0xb4], ebx
lea ebx, [esp + 0x64]
mov dword [esp + 0xb8], ebx
xor ecx, ecx
mov edx, 0xffffffff
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x427ddf
mov edi, dword [esp + 0x4c]
lea ecx, [edi + 1]
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0x5c]
mov eax, edi
mov edx, esi
mov ebx, dword [esp + 0xa0]
cmp ecx, 4
jge 0x427ed8
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebx
lea edi, [0x5e2580]
mov edx, dword [edi + ecx*4]
mov ecx, edx
mov edi, 1
shl edi, cl
shl esi, cl
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebp*2]
mov dword [esp + 0xac], ebx
mov ebx, dword [eax + ebx*4 + 8]
mov dword [esp + 0xa8], ebx
mov eax, dword [eax + 0x34]
lea ebx, [0x5e2590]
mov ebx, dword [ebx + ebp*4]
mov ecx, ebx
shr eax, cl
mov dword [esp + 0xa4], eax
lea eax, [0x5e25a0]
mov eax, dword [eax + ebp*4]
mov dword [esp + 0x3c], eax
cmp edx, 0x20
sbb edx, edx
and edi, edx
mov dword [esp + 0x6c], edi
and esi, edx
mov dword [esp + 0x60], esi
mov edx, ebp
mov ebp, dword [esp + 0xa8]
sub ebp, esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl esi, 3
sar ebp, 0x1f
and ebp, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov eax, dword [esp + 0xac]
mov esi, dword [esp + 0xc0]
add ebp, dword [esi + eax*4]
cmp ecx, 0x20
sbb eax, eax
mov ebx, dword [esp + 0xa4]
and ebx, eax
and edi, ebx
mov eax, dword [esp + 0x60]
cmp edi, eax
jne 0x427eae
mov edi, dword [esp + 0x6c]
lea ecx, [edi - 1]
and ecx, ebx
jmp 0x427eb4
mov edi, dword [esp + 0x6c]
xor ecx, ecx
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x50], ecx
mov ebx, ecx
xor ecx, ecx
mov dword [esp + 0x38], ecx
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov ecx, dword [esp + 0x50]
mov ebx, ecx
jmp 0x428151
mov dword [esp + 0x60], esi
mov ecx, dword [eax + 0x30]
test byte [ecx], al
shl esi, 7
add ecx, esi
mov dword [esp], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call sym.runtime._pallocBits_.find
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x427f76
mov ecx, dword [esp + 0x10]
shl eax, 0xd
shl ecx, 0xd
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x60]
lea esi, [ebp + 1]
shl ebp, 0x16
add eax, ebp
mov dword [esp + 0x78], eax
add ecx, ebp
shl esi, 0x16
sub esi, ecx
mov dword [esp], ecx
mov dword [esp + 4], esi
lea edx, [esp + 0xb4]
call ebx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime._pageAlloc_.findMappedAddr
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xbc
ret
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0x24]
mov ecx, dword [esp + 0x60]
lea eax, [eax + ecx*8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
test edx, 0x80000000
je 0x42812a
mov ebx, 0x40000
je 0x428110
mov eax, 0x40000
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
je 0x428102
mov edx, 0x40000
mov dword [esp + 0x14], edx
call sym.runtime.printlock
lea eax, [0x517510]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call sym.runtime.printstring
mov dword [esp], 3
mov dword [esp + 4], 0
call sym.runtime.printint
lea eax, [0x5142eb]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x60]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call sym.runtime.printint
lea eax, [0x5146a6]
mov dword [esp], eax
mov dword [esp + 4], 5
call sym.runtime.printstring
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5142cf]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5142cf]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5142e1]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
call sym.runtime.printunlock
call sym.runtime.printlock
lea eax, [0x517b5d]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call sym.runtime.printstring
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea eax, [0x5170a7]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call sym.runtime.throw
shr edx, 4
and edx, 0x3ffff
jmp 0x427fbb
mov ebp, edx
shl ebp, 0xe
shr eax, 0x12
or eax, ebp
and eax, 0x3ffff
test edx, 0x80000000
jmp 0x427fa8
mov ebx, eax
and ebx, 0x3ffff
test edx, 0x80000000
jmp 0x427f9d
inc ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x74], esi
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0xc0]
cmp ecx, edi
jge 0x428330
lea ebx, [ebp + ecx*8]
mov esi, dword [ebx + 4]
mov dword [esp + 0xa0], esi
mov ebx, dword [ebx]
mov dword [esp + 0x9c], ebx
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
test ebx, ebx
sete bl
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x42818e
xor ebx, ebx
mov esi, dword [esp + 0x74]
jmp 0x42813d
mov dword [esp + 0x58], ecx
mov ebx, dword [esp + 0xb4]
lea ebp, [ecx + eax]
mov dword [esp + 0x5c], ebp
mov ecx, dword [esp + 0x3c]
mov edi, 1
shl edi, cl
lea eax, [0x5e2590]
mov eax, dword [eax + edx*4]
mov ecx, eax
shl ebp, cl
mov esi, dword [esp + 0x3c]
cmp esi, 0x20
sbb edx, edx
and edi, edx
shl edi, 0xd
cmp eax, 0x20
sbb eax, eax
and ebp, eax
mov dword [esp], ebp
mov dword [esp + 4], edi
lea edx, [esp + 0xb4]
call ebx
mov eax, dword [esp + 0xa0]
test eax, 0x80000000
je 0x4281f9
mov ebp, dword [esp + 0x9c]
mov ebx, 0x40000
jmp 0x428208
mov ebx, dword [esp + 0x9c]
mov ebp, ebx
and ebx, 0x3ffff
mov esi, dword [esp + 0x38]
lea edi, [esi + ebx]
mov ecx, ebx
mov ebx, dword [esp + 0xc4]
cmp ebx, edi
jbe 0x4282ef
test eax, 0x80000000
je 0x42822e
mov edx, 0x40000
jmp 0x428245
mov edi, eax
shl eax, 0xe
mov edx, ebp
shr ebp, 0x12
or eax, ebp
and eax, 0x3ffff
mov ebp, edx
mov edx, eax
mov eax, edi
cmp ebx, edx
jbe 0x427dc2
test esi, esi
jne 0x428258
test eax, 0x80000000
jmp 0x42827e
mov ebp, dword [esp + 0x3c]
cmp ebp, 0x20
sbb edi, edi
mov edx, ecx
mov ecx, ebp
mov ebx, 1
shl ebx, cl
and ebx, edi
cmp edx, ebx
jae 0x4282ca
test eax, 0x80000000
mov ebx, dword [esp + 0xc4]
je 0x42828e
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x20
mov eax, 0x40000
jmp 0x42829d
shr eax, 4
and eax, 0x3ffff
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x20
sbb ebp, ebp
mov esi, dword [esp + 0x58]
lea edi, [esi + 1]
shl edi, cl
and edi, ebp
sub edi, eax
mov ecx, esi
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb0]
mov ebx, eax
mov esi, edi
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x6c]
jmp 0x42813d
lea eax, [esi + ebx]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0x6c]
mov ebx, eax
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x60]
jmp 0x42813d
test esi, esi
jne 0x428306
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x20
sbb eax, eax
mov edx, dword [esp + 0x58]
shl edx, cl
and edx, eax
jmp 0x42830a
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xc0]
mov ecx, edi
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x6c]
jmp 0x428334
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0xc4]
cmp ebp, ecx
jbe 0x42869b
test edx, edx
je 0x42867c
mov ecx, dword [esp + 0x48]
test ecx, 0x80000000
je 0x428370
mov dword [esp + 0x84], eax
mov eax, 0x40000
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x84]
jmp 0x428388
mov edi, dword [esp + 0x44]
and edi, 0x3ffff
test ecx, 0x80000000
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x6c]
je 0x42839d
mov dword [esp + 0x7c], eax
mov eax, 0x40000
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x7c]
jmp 0x4283c1
shl ecx, 0xe
mov edi, dword [esp + 0x44]
shr edi, 0x12
or edi, ecx
and edi, 0x3ffff
mov ecx, dword [esp + 0x48]
test ecx, 0x80000000
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x6c]
je 0x4283ca
mov ecx, 0x40000
jmp 0x4283d3
shr ecx, 4
and ecx, 0x3ffff
mov dword [esp + 0x2c], ecx
call sym.runtime.printlock
lea eax, [0x517510]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call sym.runtime.printstring
mov eax, dword [esp + 0x40]
sar eax, 0x1f
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x4c]
lea ebx, [edx - 1]
mov dword [esp], ebx
sar ebx, 0x1f
mov dword [esp + 4], ebx
call sym.runtime.printint
lea eax, [0x5142eb]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
call sym.runtime.printint
lea eax, [0x514512]
mov dword [esp], eax
mov dword [esp + 4], 4
call sym.runtime.printstring
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5142cf]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5142cf]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
call sym.runtime.printlock
lea eax, [0x517521]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call sym.runtime.printstring
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x98], eax
mov dword [esp + 4], eax
call sym.runtime.printint
lea eax, [0x5156e7]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call sym.runtime.printstring
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5149ec]
mov dword [esp], eax
mov dword [esp + 4], 7
call sym.runtime.printstring
mov eax, dword [esp + 0x50]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call sym.runtime.printint
call sym.runtime.printnl
call sym.runtime.printunlock
mov eax, dword [esp + 0x60]
sar eax, 0x1f
mov dword [esp + 0x94], eax
mov edx, dword [esp + 0xc0]
mov edx, dword [edx + 0x34]
mov dword [esp + 0xa4], edx
call sym.runtime.printlock
lea eax, [0x51a31a]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call sym.runtime.printstring
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printhex
lea eax, [0x514826]
mov dword [esp], eax
mov dword [esp + 4], 6
call sym.runtime.printstring
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
call sym.runtime.printint
call sym.runtime.printnl
call sym.runtime.printunlock
mov eax, dword [esp + 0x4c]
lea ecx, [0x5e2590]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x90], ecx
lea edx, [0x5e2580]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x8c], edx
call sym.runtime.printlock
lea eax, [0x51c069]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call sym.runtime.printstring
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x518e63]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call sym.runtime.printstring
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
xor eax, eax
jmp 0x428807
mov eax, dword [0x5e2340]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], eax
add esp, 0xbc
ret
mov ebx, dword [esp + 0x74]
shl ebx, 0xd
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0x64]
lea edi, [0x5e2590]
mov ecx, dword [edi + edx*4]
mov dword [esp + 0x90], ecx
shl eax, cl
mov dword [esp + 0xa4], eax
mov dword [esp], esi
mov dword [esp + 4], ebp
call sym.runtime._pageAlloc_.findMappedAddr
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x90]
cmp edx, 0x20
sbb edx, edx
mov ebx, dword [esp + 0xa4]
and ebx, edx
mov edx, dword [esp + 0x70]
add edx, ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], eax
add esp, 0xbc
ret
mov dword [esp + 0x20], ebp
call sym.runtime.printlock
lea eax, [0x517510]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call sym.runtime.printstring
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
call sym.runtime.printint
lea eax, [0x5142eb]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x54]
lea edx, [ecx + eax]
mov dword [esp], edx
sar edx, 0x1f
mov dword [esp + 4], edx
call sym.runtime.printint
lea eax, [0x5146a6]
mov dword [esp], eax
mov dword [esp + 4], 5
call sym.runtime.printstring
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5142cf]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5142cf]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.printuint
lea eax, [0x5142e1]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
call sym.runtime.printunlock
mov eax, dword [esp + 0x54]
inc eax
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jge 0x42888a
mov edx, dword [esp + 0xb0]
lea ebx, [edx + eax*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
test ebp, 0x80000000
je 0x42882d
mov esi, 0x40000
jmp 0x428841
mov esi, ebx
and ebx, 0x3ffff
test ebp, 0x80000000
mov edi, ebx
mov ebx, esi
mov esi, edi
je 0x42884a
mov ebx, 0x40000
jmp 0x428864
mov edi, ebp
shl ebp, 0xe
shr ebx, 0x12
or ebp, ebx
and ebp, 0x3ffff
test edi, 0x80000000
mov ebx, ebp
mov ebp, edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], esi
je 0x42887c
mov ebp, 0x40000
jmp 0x428703
shr ebp, 4
and ebp, 0x3ffff
jmp 0x428703
lea eax, [0x5170a7]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call sym.runtime.throw
nop
call sym.runtime.morestack_noctxt
jmp sym.runtime._pageAlloc_.find