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

Disassembly:
mov ecx, dword [0x61c868]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4137e2
sub esp, 0x74
xor eax, eax
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
xor ebx, ebx
jmp 0x4132ab
mov ebp, eax
mov eax, edx
mov edx, ebp
mov dword [esp + 0x60], ecx
jmp 0x413430
mov dword [esp + 0x5c], edx
movzx eax, byte [ecx]
mov dword [esp + 0x58], eax
mov dword [esp], ecx
call sym.runtime.add1
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov edx, ecx
and ecx, 0x7f
test edx, 0x80
jne 0x4132fa
test ecx, ecx
je 0x413442
shr ecx, 3
mov dword [esp + 0x24], ecx
xor ebx, ebx
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x40]
jmp 0x41378b
test ecx, ecx
jne 0x413307
xor ecx, ecx
xor edx, edx
jmp 0x4136aa
mov dword [esp + 0x2c], ecx
xor edx, edx
xor ebx, ebx
jmp 0x413471
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x2c]
imul ebp, ecx
mov dword [esp + 0x3c], ebp
cmp ecx, 0x19
ja 0x413345
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call sym.runtime.subtract1
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
jmp 0x413563
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov edx, dword [esp + 0x28]
sub ecx, edx
mov dword [esp + 0x14], ecx
lea ebx, [ecx + 7]
shr ebx, 3
mov dword [esp + 4], ebx
call sym.runtime.subtractb
mov eax, dword [esp + 0x14]
and eax, 7
mov ecx, dword [esp + 8]
test eax, eax
jne 0x413384
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
jmp 0x4133c8
mov dword [esp + 0x38], eax
movzx eax, byte [ecx]
mov dword [esp + 0x58], eax
mov dword [esp], ecx
call sym.runtime.add1
mov eax, dword [esp + 0x38]
lea ecx, [eax - 8]
neg ecx
mov ebx, dword [esp + 0x58]
shr ebx, cl
mov edx, dword [esp + 4]
mov ebp, dword [esp + 0x28]
lea esi, [eax + ebp]
mov edi, dword [esp + 0x3c]
sub edi, eax
cmp ecx, 0x20
sbb eax, eax
and ebx, eax
mov ecx, ebp
shl ebx, cl
mov eax, dword [esp + 0x40]
or ebx, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], esi
mov ecx, edi
shr edi, 3
mov eax, dword [esp + 0x5c]
jmp 0x41352b
and ecx, 7
test ecx, ecx
jbe 0x413405
movzx edx, byte [edx]
mov ebp, 1
shl ebp, cl
dec ebp
and ebp, edx
mov edx, ecx
mov ecx, esi
shl ebp, cl
add edx, ecx
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
or ebx, ebp
jmp 0x413407
mov edx, esi
mov ecx, dword [esp + 0x70]
jmp 0x4132a5
mov byte [edx], bl
mov dword [esp], edx
call sym.runtime.add1
mov eax, dword [esp + 0x28]
add eax, 0xfffffff8
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x40]
shr ebx, 8
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
cmp eax, 8
jae 0x413410
jmp 0x4132b4
mov edx, dword [esp + 0x5c]
mov eax, edx
mov ecx, dword [esp + 0x7c]
sub eax, ecx
mov ecx, dword [esp + 0x28]
mov ebp, ecx
neg ecx
and ecx, 7
lea eax, [ebp + eax*8]
mov dword [esp + 0xc], eax
add ecx, ebp
mov ebx, dword [esp + 0x40]
jmp 0x41371a
lea ebx, [ecx + 7]
mov edx, ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], edx
movzx ecx, byte [eax]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
call sym.runtime.add1
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov edx, ecx
and ecx, 0x7f
mov ebx, ecx
mov ecx, dword [esp + 0x18]
shl ebx, cl
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
mov ebp, dword [esp + 0x3c]
or ebp, ebx
test edx, 0x80
jne 0x41346c
jmp 0x413314
mov dword [esp + 0x30], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x6c], eax
movzx eax, byte [edx]
mov dword [esp + 0x58], eax
mov dword [esp], edx
call sym.runtime.add1
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x58]
shl eax, cl
mov edx, dword [esp + 0x30]
dec edx
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 4]
mov dword [esp + 0x5c], ebx
cmp ecx, 0x20
sbb ebp, ebp
and eax, ebp
mov ebp, dword [esp + 0x54]
or ebp, eax
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x6c]
xchg ebp, ebx
mov byte [eax], bl
xchg ebp, ebx
mov dword [esp], eax
call sym.runtime.add1
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x40]
shr ebx, 8
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
test edi, edi
ja 0x4134b7
jmp 0x4133de
mov dword [esp + 0x20], ecx
shl edx, 8
mov dword [esp + 0x10], edx
movzx ecx, byte [eax]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
call sym.runtime.subtract1
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
or edx, eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
add ecx, 8
mov ebx, dword [esp + 0x2c]
cmp ecx, ebx
jb 0x413534
jbe 0x41357a
sub ecx, ebx
shr edx, cl
cmp ecx, 0x20
sbb ebp, ebp
and edx, ebp
jmp 0x41357c
mov ebx, ecx
cmp ebx, 1
jne 0x413598
cmp edx, 1
jne 0x413592
mov eax, 0x19
mov edx, 0x1ffffff
jmp 0x4135a9
mov eax, dword [esp + 0x3c]
jmp 0x4135a9
lea ebp, [ebx + ebx]
cmp ebp, 0x19
ja 0x4135a7
mov eax, ebx
jmp 0x413669
mov eax, ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x3c]
jmp 0x4135d1
mov ecx, dword [esp + 0x58]
sub ebp, ecx
mov edx, dword [esp + 0x10]
mov esi, eax
mov eax, ecx
cmp eax, ebp
ja 0x4135ea
mov dword [esp + 0x3c], ebp
mov ecx, esi
shl edx, cl
add eax, ecx
cmp ecx, 0x20
sbb esi, esi
and edx, esi
or ebx, edx
jmp 0x413650
test ebp, ebp
jbe 0x41361b
mov dword [esp + 0x68], edi
mov ecx, ebp
mov eax, 1
shl eax, cl
lea edi, [esi + ecx]
cmp ecx, 0x20
sbb ebp, ebp
and eax, ebp
dec eax
and edx, eax
mov ecx, esi
shl edx, cl
cmp ecx, 0x20
sbb eax, eax
and edx, eax
or ebx, edx
mov esi, edi
mov edi, dword [esp + 0x68]
mov edx, esi
mov ecx, dword [esp + 0x70]
mov eax, edi
jmp 0x4132a5
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebx
mov byte [edi], bl
mov dword [esp], edi
call sym.runtime.add1
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x4c]
shr ebx, 8
mov eax, dword [esp + 0x50]
add eax, 0xfffffff8
mov ebp, dword [esp + 0x3c]
cmp eax, 8
jae 0x413628
jmp 0x4135c3
sbb ebp, ebp
mov ecx, ebx
mov esi, edx
shl esi, cl
and esi, ebp
or edx, esi
lea ebx, [ecx + ecx]
cmp ebx, 0x20
jbe 0x41365a
test eax, eax
je 0x4136a0
mov dword [esp + 0x44], edx
mov ecx, eax
mov eax, 0x19
xor edx, edx
div ecx
imul ecx, eax
mov edx, 1
shl edx, cl
cmp ecx, 0x20
sbb ebp, ebp
and edx, ebp
dec edx
mov ebp, dword [esp + 0x44]
and edx, ebp
mov ebx, ecx
jmp 0x4135a7
call sym.runtime.panicdivide
lea edx, [ecx + 7]
mov ecx, ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], ecx
movzx ebx, byte [eax]
mov dword [esp + 0x58], ebx
mov dword [esp], eax
call sym.runtime.add1
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov edx, ecx
and ecx, 0x7f
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
shl ebx, cl
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
mov ebp, dword [esp + 0x2c]
or ebp, ebx
test edx, 0x80
jne 0x4136a5
mov ecx, ebp
jmp 0x413307
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], ebx
mov byte [edx], bl
mov dword [esp], edx
call sym.runtime.add1
mov eax, dword [esp + 0x28]
lea ecx, [eax - 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x40]
shr ebx, 8
mov eax, dword [esp + 0xc]
test ecx, ecx
ja 0x4136f2
mov dword [esp + 0x80], eax
add esp, 0x74
ret
mov dword [esp + 0x34], ebx
movzx ecx, byte [eax]
mov dword [esp + 0x48], ecx
mov dword [esp], eax
call sym.runtime.add1
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
shl eax, cl
mov edx, dword [esp + 0x40]
or edx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 4]
mov dword [esp + 0x60], ebx
mov ebp, dword [esp + 0x64]
mov byte [ebp], dl
mov dword [esp], ebp
call sym.runtime.add1
mov ebp, dword [esp + 4]
mov esi, dword [esp + 0x40]
shr esi, 8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x40], esi
mov dword [esp + 0x64], ebp
cmp ebx, ecx
jb 0x413729
and edx, 7
test edx, edx
ja 0x4137a4
mov ecx, dword [esp + 0x28]
jmp 0x4137d5
mov dword [esp + 0x2c], edx
movzx ecx, byte [eax]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
call sym.runtime.add1
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
shl esi, cl
mov eax, dword [esp + 0x40]
or esi, eax
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x2c]
add ecx, edx
mov ebp, dword [esp + 0x64]
mov edx, ecx
mov ecx, eax
mov eax, ebp
mov ebx, esi
jmp 0x4132a5
call sym.runtime.morestack_noctxt
jmp sym.runtime.runGCProg