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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb4]
cmp eax, dword [ecx]
ja 0x40b726
xor edi, edi
mov eax, 4
call fcn.0042a440
jmp fcn.0040b700
sub esp, 0x134
cmp dword [0x76d010], 0
je 0x40b73a
call fcn.004258f0
mov eax, dword fs:[0x14]
mov eax, dword [eax + 4]
mov byte [eax + 0x27d], 2
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx]
mov dword [esp + 0x12c], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x138]
lea edx, [0x76d354]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword fs:[0x14]
mov eax, dword [eax + 4]
inc dword [eax + 0x6c]
cmp dword [0x76d368], 0
jne 0x40b7ab
mov ecx, 8
mov dword [esp], ecx
call fcn.00411a50
mov dword [0x76d368], eax
mov eax, dword fs:[0x14]
mov eax, dword [eax + 4]
dec dword [eax + 0x6c]
cmp dword [0x76c784], 0
jne 0x40b7e3
lea eax, [esp + 0xb8]
mov dword [esp], eax
call fcn.00404b20
mov eax, dword [esp + 0xb8]
mov eax, dword [eax + 0x24]
mov dword [0x76c784], eax
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
cmp dword [0x76d018], 0
je 0x40b811
lea eax, [esp + 0x124]
mov dword [esp], eax
call fcn.0040fcc0
call fcn.0040acf0
cmp eax, 0xffffffff
je 0x40b823
inc dword [0x76d5bc]
jmp 0x40b811
mov dword [0x76d35c], 0
mov dword [0x76d360], 0
call fcn.004136f0
mov dword [0x76d350], eax
mov eax, dword [0x76d368]
mov dword [esp], eax
mov eax, dword [0x76d350]
mov dword [esp + 4], eax
mov eax, dword [0x76c840]
add eax, 5
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
mov eax, 0x4092f0
mov dword [esp + 0x14], eax
call fcn.00411aa0
cmp dword [0x76d350], 1
jbe 0x40b8a1
mov eax, 0x76d364
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [0x76d350]
mov dword [esp], eax
call fcn.004137f0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
cmp dword [0x76d018], 0
je 0x40b8cf
lea eax, [esp + 0x11c]
mov dword [esp], eax
call fcn.0040fcc0
call fcn.0040c070
mov eax, dword [0x76d368]
mov dword [esp], eax
call fcn.00411cf0
mov dword [esp], 0
mov eax, 1
mov byte [esp + 4], al
call fcn.00408610
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
cmp dword [0x76d018], 0
je 0x40b925
lea eax, [esp + 0x114]
mov dword [esp], eax
call fcn.0040fcc0
mov eax, dword fs:[0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x7c]
imul eax, eax, 0x544
add eax, 0x772b20
mov dword [eax], 0
cmp dword [0x76d350], 1
jbe 0x40b95c
mov eax, 0x76d364
mov dword [esp], eax
call fcn.00406690
call fcn.0040aee0
lea eax, [esp + 0x104]
mov dword [esp], eax
lea edx, [0x7700a8]
mov eax, dword [edx]
mov edx, dword [edx + 4]
cmp edx, 0
jne 0x40c04e
mov ecx, 0x64
mul ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [0x764cb4]
add eax, 0x64
mov ecx, eax
mov dword [esp + 0xc], eax
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call fcn.0041c650
lea eax, [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [0x764cb4]
mov ecx, eax
sar ecx, 0x1f
mov ebx, eax
lea edx, [0x770030]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov ebp, ecx
or ebp, edx
cmp ebp, 0
jne 0x40c039
mov ebp, ebx
mul ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x64
mov dword [esp + 0x10], 0
call fcn.0041c650
lea eax, [0x770030]
mov ecx, dword [eax]
add ecx, dword [esp + 0xb0]
mov edx, dword [eax + 4]
adc edx, dword [esp + 0xb4]
lea eax, [0x7700a8]
mov dword [eax], ecx
mov dword [eax + 4], edx
lea eax, [esp + 0x10c]
mov dword [esp], eax
call fcn.0040fcc0
lea eax, [0x7700b0]
mov dword [esp], eax
call fcn.004298e0
mov eax, dword [esp + 0x10c]
sub eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x110]
sbb ecx, dword [esp + 0x130]
mov ebx, dword [0x7708c0]
and ebx, 0xff
lea edx, [ebx*8 + 0x7700c0]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x10c]
sub eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x110]
sbb ecx, dword [esp + 0x130]
add dword [0x7700b8], eax
adc dword [0x7700bc], ecx
inc dword [0x7708c0]
cmp byte [0x7708c5], 0
je 0x40bad6
mov eax, str.pause__D_n
mov dword [esp], eax
mov eax, dword [esp + 0x10c]
sub eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x110]
sbb ecx, dword [esp + 0x130]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00412350
cmp dword [0x76d018], 0
je 0x40be78
lea ecx, [0x770030]
mov eax, dword [ecx]
mov dword [esp + 0xfc], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x100], eax
lea eax, [esp + 0xc4]
mov dword [esp], eax
call fcn.0040afa0
mov eax, dword [esp + 0xfc]
cmp eax, dword [0x770030]
jne 0x40bff1
mov eax, dword [esp + 0x100]
cmp eax, dword [0x770034]
jne 0x40bff1
lea eax, [0x770020]
lea ecx, [0x770028]
mov edx, dword [eax]
sub edx, dword [ecx]
mov ebx, dword [eax + 4]
sbb ebx, dword [ecx + 4]
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], ebx
mov ecx, dword [0x76d368]
add ecx, 0x38
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add dword [esp + 0xd4], eax
adc dword [esp + 0xd8], ecx
mov ecx, dword [0x76d368]
add ecx, 0x40
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add dword [esp + 0xdc], eax
adc dword [esp + 0xe0], ecx
mov ecx, dword [0x76d368]
add ecx, 0x48
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add dword [esp + 0xe4], eax
adc dword [esp + 0xe8], ecx
lea eax, [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x124]
sub eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
sbb ecx, dword [esp + 0x130]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x3e8
mov dword [esp + 0x10], 0
call fcn.0041c8a0
lea eax, [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
sub eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
sbb ecx, dword [esp + 0x128]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x3e8
mov dword [esp + 0x10], 0
call fcn.0041c8a0
lea eax, [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0x114]
sub eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
sbb ecx, dword [esp + 0x120]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x3e8
mov dword [esp + 0x10], 0
call fcn.0041c8a0
lea eax, [esp + 0x98]
mov dword [esp], eax
mov eax, dword [esp + 0x10c]
sub eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
sbb ecx, dword [esp + 0x118]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x3e8
mov dword [esp + 0x10], 0
call fcn.0041c8a0
mov eax, str.gc_d__d_:__D_D_D_D_us___D_____D_MB___D___D__D__objects___d__d__d_sweeps___D__D__handoff___D__D__steal___D__D__D_yields_n
mov dword [esp], eax
mov eax, dword [0x7708c0]
mov dword [esp + 4], eax
mov eax, dword [0x76d350]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
shrd eax, ecx, 0x14
shr ecx, 0x14
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
shrd eax, ecx, 0x14
shr ecx, 0x14
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x40], eax
lea ecx, [0x770020]
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x48], eax
lea ecx, [0x770028]
mov eax, dword [ecx]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x50], eax
mov eax, dword [0x76cfdc]
mov dword [esp + 0x54], eax
mov eax, dword [0x76d5b8]
mov dword [esp + 0x58], eax
mov eax, dword [0x76d5bc]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x6c], eax
mov ecx, dword [0x76d368]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x74], eax
mov ecx, dword [0x76d368]
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 0x34]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x94], eax
call fcn.00412350
xor eax, eax
mov dword [0x76d5bc], eax
mov dword [0x76d5b8], eax
cmp dword [0x76cfd8], 0
je 0x40be93
mov eax, dword [0x76cfd8]
cmp eax, dword [0x77d794]
jne 0x40bfc8
mov eax, dword [0x77d794]
mov dword [0x77d798], eax
add dword [0x77d7a4], 2
mov dword [0x77d7a8], 0
mov eax, dword [0x77d794]
mov dword [0x76cfd8], eax
mov eax, dword [0x77d79c]
mov dword [0x76cfdc], eax
mov dword [0x76cfe0], 0
mov eax, dword [esp + 0x138]
movzx eax, byte [eax + 8]
cmp al, 0
je 0x40bf4c
call fcn.0040acf0
cmp eax, 0xffffffff
je 0x40bef4
inc dword [0x76d5bc]
jmp 0x40bee2
xor edx, edx
mov eax, edx
cmp edx, dword [0x76c840]
jae 0x40bf2c
mov ecx, edx
mov dword [esp + 0xc0], edx
mov edx, dword [0x76c83c]
mov eax, dword [edx + ecx*4]
mov dword [esp], eax
call fcn.0041b260
mov edx, dword [esp + 0xc0]
inc edx
mov eax, edx
cmp edx, dword [0x76c840]
jb 0x40bf00
call fcn.004250b0
mov eax, dword fs:[0x14]
mov eax, dword [eax + 4]
mov byte [eax + 0x27d], 0
add esp, 0x134
ret
mov eax, 0x76c458
mov dword [esp], eax
call fcn.00406310
cmp dword [0x76cfd0], 0
jne 0x40bfa8
mov ecx, 0x764c98
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov ecx, fcn.0040b450
mov dword [esp + 0x10], ecx
call fcn.00416360
mov dword [0x76cfd0], eax
mov eax, 0x76c458
mov dword [esp], eax
call fcn.004064e0
jmp 0x40bef4
cmp byte [0x76cfd4], 0
je 0x40bf96
mov byte [0x76cfd4], 0
mov eax, dword [0x76cfd0]
mov dword [esp], eax
call fcn.004135c0
jmp 0x40bf96
mov eax, dword [0x76cfd8]
mov dword [esp], eax
mov eax, dword [0x76cfdc]
shl eax, 2
mov dword [esp + 4], eax
mov eax, 0x7700a0
mov dword [esp + 8], eax
call fcn.00407a70
jmp 0x40be93
mov eax, str.runtime:_mstats_skew:_heap_D__D_n
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
lea ecx, [0x770030]
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], eax
call fcn.00412350
mov eax, str.mstats_skew
mov dword [esp], eax
call fcn.00411860
jmp 0x40bb31
imul edx, ebx
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, ebx
mul edx
add edx, ebp
jmp 0x40b9dc
lea ecx, [edx + edx*4]
mov ebx, ecx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, 0x64
mul edx
add edx, ecx
jmp 0x40b986